Cresce nella squadra Allievi del G.S. Sauro di Grosseto e nel 1969 viene prelevato dalla Juventus, dove compie la trafila nelle giovanili e vince un Campionato Allievi Nazionali e successivamente un Campionato Primavera nel 1972. Alla vigilia della sua prima convocazione con i bianconeri in Coppa UEFA subisce un infortunio al ginocchio che lo tiene fermo per 11 mesi e così la Juventus lo gira al Varese, con la cui maglia non giocherà in campionato.
Passato all'Alessandria, debutta in Serie B nel 1974, disputando 23 gare e segnando 2 reti. Dopo un anno in Serie C al Benevento, nella stagione 1976-1977 torna a giocare nella seconda divisione nazionale con il Varese, disputando 28 partite e segnando 3 gol.
Dopo un anno in Serie C con il Parma, torna per un breve periodo al Varese, con cui nel girone eliminatorio della Coppa Italia 1978-1979 segna il gol della vittoria per 3-2 contro la Roma allo Stadio Olimpico.
In seguito calca nuovamente i campi della terza serie con le maglie di Salernitana, Rimini (con cui vince il campionato di Serie C1 1979-1980), Francavilla e Casertana.
Per la stagione 1984-1985 viene chiamato a vestire la maglia del Chievo, partecipante al Campionato Interregionale, ma alla sua prima partita con i veneti subisce un infortunio che lo ferma nuovamente. Termina la carriera in Promozione con l'Orbetello.