Proveniente dalle giovanili della Roma, senza mai essere schierato in incontri di campionato, ha totalizzato 14 presenze nel campionato di Serie A 1989-1990 con la maglia del Verona, con cui ha esordito in massima categoria il 5 novembre 1989 in occasione della sconfitta interna contro l'Inter, e 49 presenze e una rete in Serie B nelle file di Licata e Triestina.
Allenatore
Intrapresa la carriera di allenatore, sin dalla fine degli anni novanta si è seduto sulla panchina di numerose squadre, sia professionistiche sia dilettantistiche.
Degni di nota i play-off di Serie D vinti alla guida del Vittoria (2002-2003), a cui segue la sua prima esperienza da allenatore in Serie C2 sulla panchina del Potenza (2004-2005).
Nella stagione successiva allena la Paganese in Serie D, vincendo il campionato con quattro giornate di anticipo. Ancora degne di nota sono le esperienze sulla panchina del Termoli che gli valgono un secondo e un terzo posto (2012-2013 e 2013-2014) e ancora sulla panchina del Potenza neopromosso in Serie D, con cui centra un terzo posto e una finale play-off (2014-2015).[3]
Dall'agosto 2015 al febbraio 2016 ha guidato il Grosseto, in Serie D.[4] Dall'agosto seguente siede sulla panchina del Poggibonsi, ancora nel massimo campionato dilettantistico.[5]
Il tecnico è stato esonerato il 2 settembre 2016, provvedimento concordato con il club dopo essere stato eliminato dalla Coppa Italia perdendo la partita casalinga 0-1 con il San Donato Tavernelle.
Il 2 ottobre 2016 diventa il nuovo allenatore della Turris, militante in Serie D.[6].
Dopo sole 5 giornate di campionato, il 7 novembre 2016 viene sollevato dall'incarico a causa della sconfitta casalinga contro il Gladiator,[7] concludendo la sua esperienza corallina con un bilancio di due vittorie, un pareggio e due sconfitte.
Il 26 ottobre 2017 viene annunciato come nuovo allenatore dell'Alto Tavoliere San Severo, militante in Serie D.
L'anno successivo passa al AZ Picerno, nel girone H della Serie D, e vince il campionato portando i lucani a una storica promozione in Serie C. Nel campionato successivo la squadra raggiunge il sedicesimo posto battendo il Rende ai play-out raggiungendo così la salvezza.
Purtroppo il club viene coinvolto nell'inchiesta per una combine della partita con il Bitonto, nel vittorioso campionato di Serie D 2018-2019, risultandone colpevole viene condannata all'ultimo posto e retrocessa in Serie D. Da qui la decisione di rescindere il contratto[8].
Il 6 aprile 2021 viene annunciato ufficialmente come nuovo allenatore del Marina di Ragusa, club che milita nel girone I della Serie D. Il 20 aprile dopo appena 14 giorni dal suo arrivo, viene esonerato e sostituito dal rientrante Utro.
A luglio 2024 viene annunciato come nuovo allenatore della Pistoiese, sempre in Serie D. Il 4 novembre seguente, dopo un avvio di stagione al di sotto delle aspettative, viene sollevato dall' incarico.
Dopo poche settimane torna in panchina, infatti viene ingaggiato dal Savoia, sempre in Serie D ma anche in Campania dura poco e causa risultati al di sotto delle aspettative, con un bilancio di due pareggi e una sconfitta in tre partite, il 10 dicembre 2024 rassegna le dimissioni.