Cresciuto nella Fiorentina, fu mandato a fare esperienza nelle serie inferiori alla Sangiovannese nel 1971 e all'Arezzo l'anno seguente. Tornato in viola, esordì in Serie A il 17 marzo 1974 contro il Torino nella sua unica partita ufficiale con la squadra toscana.
Ceduto in comproprietà al Catania nel 1974 e poi riscattato dalla Fiorentina, passò, ancora in comproprietà, al L.R. Vicenza dove visse probabilmente la parentesi migliore della sua carriera; dopo un campionato di Serie B burrascoso, nel 1976-77 fu tra i protagonisti della promozione in A dei biancorossi; fece parte nel 1977-78 della squadra che ha conquistato il secondo posto alle spalle della Juventus, il cosiddetto Real Vicenza, formando insieme al libero Giorgio Carrera un'ottima coppia centrale difensiva. Lasciò la città berica nel 1979, dopo aver giocato la Coppa UEFA, a seguito della retrocessione dei biancorossi in B.
Restò in Serie A con il Pescara, e anche in questo caso il campionato 1979-80 terminò con la retrocessione. Rimase in Abruzzo fino al 1982 quando i biancazzurri retrocessero in Serie C1, quindi, dopo una breve parentesi al Lecce senza mai scendere in campo, militò nel Monopoli (dove nel 1984 ottenne una promozione in C1) e nel Fasano promosso in C2 prima di concludere l'attività agonistica.
In carriera ha totalizzato complessivamente 89 presenze e 7 reti in Serie A e 123 presenze e 2 reti in Serie B.
Dirigente
È osservatore per la Fiorentina e fondatore dell'Esperia Monopoli, squadra di calcio giovanile.