Cresciuto nel vivaio del Castelfiorentino e poi della Fiorentina, nel 1966 venne ceduto in prestito annuale al Siena, in Serie C1, per la sua prima stagione da professionista.
Rientrato a Firenze nell'estate del 1967, vi rimarrà per tre campionati non riuscendo tuttavia ad affermarsi nell'undici titolare.
In Serie A disputò con la maglia viola 5 partite nella prima stagione, oltre a due gare nella Coppa delle Fiere, 6 nella seconda – contribuendo alla vittoria del secondo scudetto della società gigliata – e 10 nella terza annata, in cui scese in campo pure in due gare di Coppa dei Campioni; nel 1970, all'ultimo anno in Toscana, raggiunse inoltre una finale di Coppa delle Alpi.
Proprio nel settanta fu ceduto al Brescia, in Serie B, dove rimase per due stagioni. Successivamente tornò in Toscana, tra le file dapprima del Livorno[1] e poi dell'Arezzo, dove chiuse la carriera nel 1977.