W 2006 roku Castro został wypożyczony do Racingu Santander, w którym rozegrał jeden mecz, 10 września 2006 przeciwko Getafe CF (0:1). Jeszcze w listopadzie zmienił klub i trafił na wypożyczenie do Gimnàstic Tarragona, w którym zadebiutował 26 listopada w spotkaniu z Mallorką (2:3). Z Gimnàstikiem spadł w sezonie 2006/2007 do Segunda División.

W sezonie 2007/2008 Castro ponownie grał w Deportivo La Coruña. W sezonie 2008/2009 grał na wypożyczeniu w SD Huesca, a w sezonie 2009/2010 był wypożyczony do Rayo Vallecano.

Latem 2010 roku Castro podpisał kontrakt z Realem Betis. Zadebiutował w nim 29 sierpnia 2010 roku w zwycięskim 4:1 domowym meczu z Granadą. W sezonie 2010/2011, w którym strzelił 25 goli i był najlepszym strzelcem Betisu, awansował do Primera División. W sezonie 2011/2012 zdobył 16 bramek i ponownie był najskuteczniejszym graczem Betisu.