Career
He spent his most of his career at Prima Divisione, 2½ seasons at Seconda Divisione and 2½ seasons at Serie B. (3rd, 4th and 2nd highest division respectively). Born in Cittiglio, Lombardy, Castelli started his career at Internazionale. He spent 2 seasons on loan at Lombardy side Pro Sesto, then sold to Cagliari in co-ownership deal.
In 2001-2002 season, he was loaned back to Lombardy for Varese.
And in June 2002 bought back by Inter after an auction between the two clubs. He then left on loan to Serie C1 club Reggiana, where he rejoined ex-Inter team-mate Raffaele Nuzzo.
Since the left for Sarti, Castelli became the starting keeper for Prato. In 2004-2005 season he left for Serie C1 side Spezia along with forward Nicola Napolitano, which at that time the club partially owned by Inter.
He worked as the backup of Hugo Daniel Rubini who spent previous 5 seasons as first choice except 2003-2004 season.
In January 2005, he left the club after Spezia signed keeper Alex Cordaz from Inter. In July 2005, he left for Lecco, his first Serie C2 club and Lombardy club since leaving Pro Sesto in 2000 and Varese in 2002 respectively. He competed with Maurizio Monguzzi for the first choice position but in January 2006 left for Serie C1 and Lombardy side Pro Patria.
In summer 2006, Castelli remained in Serie C1 and Lombardy, joined Lucchese along with Inter team-mate Mathieu Moreau (which Moreau already spent previous season on loan).
He worked as understudy of Alex Brunner and then Massimo Gazzoli. After the fold of Lucchese in 2008, on 22 September 2008, he joined Modena of Serie B (the first Serie B club since leaving Cagliari), which Castelli had been trailed since 11 September.
In although Frezzolini recovered, Castelli remained in starting XI. He was then without a club for 7 months, and on 1 February 2010 signed a contract until end of season with Serie B newcomer Crotone. He worked as an understudy of Emanuele Concetti along with young keeper Simone Farelli.
On 19 August 2010 he was signed by Como.
On 29 August 2011 he left for Monza.