Гонсало Кастро Рандоне родился в городе Вупперталь в семье выходцев из Испании. Свои первые шаги в футболе делал в местных детских командах и впоследствии появился в составе «Поста» (Вупперталь), а оттуда перебрался в юношескую команду клуба «Виктория» (Ротт). В 1999 году был приглашен в молодёжный клуб леверкузенского «Байера» — СК «Байер» (Вупперталь).
Свои первые матчи в Бундеслиге и Лиге чемпионов Гонсало Кастро сыграл в 17 лет. Несмотря на столь юный возраст, он прочно закрепился в основном составе леверкузенского «Байера» на позиции крайнего защитника. С сезона 2010/11 Кастро всё чаще стал использоваться в центре поля и в итоге стал игроком основного состава на этой позиции. В сезоне 2010/11 «Байер» занял второе место в чемпионате, что стало самым большим успехом для Кастро за всё время пребывания в леверкузенском клубе.
Летом 2015 года Кастро перешёл в дортмундскую «Боруссию»[2]. Игрок подписал контракт до 2019 года, сумма трансфера составила около 11 миллионов евро[3]. В марте 2017 года продлил контракт с клубом до 2020 года[4]. В 2018 году «Штутгарт» выкупил контракт.[источник не указан 2409 дней] 1 июля 2018 года «Штутгарт» выкупил контракт.