Castro begon zijn professionele voetbalcarrière in 2002, toen hij een contract kreeg bij Pumas UNAM na enkele jaren jeugdopleiding bij dezelfde club. Hij debuteerde op 22 januari 2002 in een competitieduel tegen Deportivo Guadalajara, dat in een 2-2 gelijkspel eindigde. In negen jaar tijd speelde hij ruim 300 duels, waarin hij twaalf doelpunten maakte. In 2004 maakte hij het enige doelpunt in de wedstrijd tegen Real Madrid in de Trofeo Santiago Bernabéu. Door dit doelpunt won Pumas UNAM het vriendschappelijke voetbaltoernooi. Nadat Castro in het seizoen 2010/11 landskampioen werd met Pumas en inmiddels de aanvoerdersband droeg, vertrok hij naar Cruz Azul. Daar speelde hij meer dan negentig duels. In 2014 maakte Castro de overstap naar CD Guadalajara.
Castro debuteerde in een vriendschappelijke interland met Venezuela, op 28 februari 2007. Zijn grootste succes met Mexico behaalde hij in 2009. In de finale van de CONCACAF Gold Cup werd op 26 juli de Verenigde Staten verslagen met 5–0. Twee maanden later werd opnieuw van de Verenigde Staten gewonnen, in een WK-kwalificatieduel. Na de eerste helft leidden de Verenigde Staten met 0–1, maar doordat Castro in de tweede helft zijn eerste en tot op heden laatste doelpunt voor Mexico maakte, werd de stand gelijkgetrokken en uiteindelijk door Mexico met 2–1 gewonnen.