Swoją karierę piłkarską Castro rozpoczął w klubie UD Las Palmas. Po grze w drużynie rezerw awansował w 2001 roku do pierwszego zesopłu. 25 lutego 2001 zadebiutował w Primera División w przegranym 1:2 wyjazdowym meczu z Málagą CF. 3 października 2001 w domowym meczu z Realem Madryt (4:2) strzelił swoje pierwsze dwa gole w Primera División. W sezonie 2001/2002 spadł z Las Palmas do Segunda División. W Las Palmas występował do końca sezonu 2003/2004.
W 2004 roku Castro przeszedł do Deportivo La Coruña. Na sezon 2004/2005 został wypożyczony do Albacete Balompié, w którym swój debiut zanotował 29 sierpnia 2004 w przegranym 0:1 wyjazdowym meczu z Sevillą. Latem 2005 wrócił do Deportivo i zadebiutował w nim 28 sierpnia 2005 w wyjazdowym meczu z RCD Mallorca (1:0). Grał w nim w sezonie 2005/2006.
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.
Komentarze Disqus