A prolific striker, nicknamed Nacho, he moved in Italy in 2001 to join Serie D club Brindisi, offering a massive contribution to their promotion to Serie C2thanks to 15 goals in 23 matches. Despite this, he was not initially allowed to try his luck into professional football due to his lack of a European Union passport, and consequently opted to join Apulian Serie D sideNardò, where he scored 17 goals. In 2003, he left Nardò for Vigor Lamezia, where he scored an impressive 24 goals in 32 matches.
In 2004, Castillo returned to Apulia to join newly promoted but ambitious Serie D side Gallipoli, helping them to gain two consecutive promotions thanks to a 40 goals in 55 matches, being now able to play into Serie C2 during the 2005–06 season after having finally obtained an Italian passport at the age of 29.
For the 2006–07 season Castillo agreed to join Serie B side Frosinone in a loan deal, but failed to impress, scoring only 5 goals in 30 matches and being mostly featured as a substitute during the campaign. For the following season he signed for newly promoted Serie B club Pisa and presented himself by scoring two winning goals to Bari in his debut match with the nerazzurri. At the end of the season he had scored 21 goals, gaining fifth place in the scorers table.
In August 2008 he was signed by newly promoted Serie A club U.S. Lecce, thus returning to Salento. With the giallorossi side he scored 7 goals in 29 matches, making his Serie A debut against Torino on 31 August 2008. On 20 July 2009 he was officially signed by Fiorentina for €1 million in 2-year contract. He played his European debut on 9 December 2009, substituted Lorenzo De Silvestri on the 83rd minute against Liverpool F.C.. At the time was 1–1 draw and ended in 2–1 by the last minute goal from Alberto Gilardino. On 10 January 2010, he scored a crucial goal to seal a 2–1 home win against Serie A opponents A.S. Bari.
On 15 January 2010 A.S. Bari signed the Argentine striker from ACF Fiorentina in temporary deal for €300,000. At the end of season he was signed by Bari in definitive deal for €500,000, in 2-year contract. After the end of his contract, Castillo announced his retirement from playing in order to start a coaching career; however, he reverted his decision later on April 2013 to accept a short-term contract till the end of season with Lega Pro Prima Divisione club Trapani, who were searching for an emergency striker to strengthen their promotion hopes. Castillo provided only three appearances games with no goals, with Trapani winning the league title nonetheless.