He started his career at Nacional, but played mostly in La Liga after arriving in Spain at the age of 22, totalling 296 matches for Mallorca, Real Sociedad and Málaga over 11 seasons and scoring 41 goals.
He made his professional debut on 13 July 2002 in a 3–1 win over Central Español, going on to become an important first-team member and helping them to two Uruguayan Primera División titles while finishing in the scorer charts' top three in the 2005–06 season.
[4] In 2009–10, Castro finally beat competition from veteran Fernando Varela, starting most of the campaign and scoring six goals in 35 matches as Mallorca finished fifth and qualified for the UEFA Europa League (fourth until the last minute of the last matchday).
[8] Castro appeared in seven out of the Basques' eight matches in the 2013–14 edition of the UEFA Champions League – all rounds included – going scoreless in the process as the team exited in the group stage.
[9] On 6 January 2016, Castro terminated his link (which was about to expire) with Real Sociedad and moved to fellow top-tier side Málaga CF for two and a half seasons.