Esordisce nel Montevarchi nel 1977, per poi passare alla Ternana in Serie B due anni dopo. Nella stagione 1980-1981 fa il suo esordio in Serie A con la Roma di Nils Liedholm; nella stessa annata, subisce un serio infortunio che lo tiene lontano dai campi di gioco per sei mesi.
L'anno successivo si trasferisce al Pisa, dove conquista la promozione in Serie A. In nerazzurro resta fino al 1984, dopodiché veste le maglie di Padova e Bologna in Serie B.
Nel 1987 scende in Serie C2 per giocare con il Venezia, ottenendo la promozione in Serie C1. Chiusa questa esperienza, milita nella Cavese e nella Battipagliese, ritirandosi nel 1994 con la Rondinella.
Allenatore
Inizia la carriera da allenatore nel 1994 allenando la Sangiovannese, restandovi per tre anni. In seguito allena l'Olbia (1997-99), il Montevarchi (1999-2000), l'Sestese (2001-02), la Primavera del Perugia (2003-04), di nuovo l'Olbia (2004-06) e il Portogruaro (2006-2007).
Il 23 luglio 2019 viene annunciato come nuovo allenatore dell'Inter femminile, neopromossa in Serie A.[1] Nella prima stagione la squadra conclude al settimo posto in campionato e viene eliminata agli ottavi di finale di Coppa Italia dal Milan. Nella seconda annata le nerazzurre chiudono ottave in Serie A e vengono estromesse in semifinale nella coppa nazionale, ancora una volta per mano del Milan. Dopo due stagioni, il 16 giugno 2021 il club comunica di aver trovato l'accordo per la risoluzione del contratto.[2]