En 1977, il est engagé par Tarente, avec qui il débute en Serie B, disputant 15 matchs lors de la saison 1977-1978[1], avant de retourner en Serie C1 sous les couleurs de Lucchese[2] et de Catane. Il reste en Sicile pendant trois saisons, réussissant une promotion en Serie B en 1979-1980[3], avant de retourner une saison à Tarente, où il joue en tant que titulaire en Serie C1[4].
En 1983, il rejoint les rangs de Cavese, avant de rejoindre à l'automne Prato, en C1. En 1984-1985, il rejoint Barletta, où il devient capitaine[5] et obtient sa seconde promotion en division supérieure en 1987.
Castagnini rejoint ensuite Cosenza pour trois ans avec à la clé une nouvelle promotion en 1987-1988[6], avant de terminer sa carrière de joueur en Serie C2 avec Livourne.
Au total, il joue durant sa carrière 124 matchs en Serie B pour 3 buts inscrits (un avec Catane et deux avec Cosenza).
En juillet 2010, il retourne travailler avec Cosenza en tant que directeur général. À la suite de problèmes sociétaires, il démissionne, en même temps que l'entraîneur du club[15].