Inizia al Testaccio[1] e in seguito cresce nel vivaio della Roma, con cui esordisce in Serie A l'11 febbraio 1990. Arriva a Caserta nella stagione 1990-1991 e, dopo il girone di andata,[senza fonte] conquista il posto di titolare, ottenendo la promozione in Serie B.
Dopo aver giocato nella Casertana, torna alla Roma, allenata da Carlo Mazzone prima e Zdeněk Zeman poi. Nella stagione successiva in panchina c'è Fabio Capello, che non gli fa giocare neppure una partita, e così passa al Brescia, guidato da Carletto Mazzone, con cui disputa quattro campionati. Nel 2004 passa al Bologna, nelle cui file retrocede in Serie B.
Comincia la carriera nei quadri dell'AS Roma nel 2005. Nel 2009 è direttore tecnico del Canale Monterano[3] e nel 2012 allena il Saxa Flaminia[4] , nel 2014 lo troviamo sulla panchina degli Allievi Regionali del Montespaccato, società con la quale ha conquistato il secondo posto nel Girone A[5]. Nella stagione 2015-2016 viene ingaggiato dalla LUISS Guido Carli, squadra composta di studenti universitari militante in Prima Categoria (Lazio), in seguito è responsabile della scuola calcio della Time Sport Roma Garbatella [6].Nel 2017-18 allena la squadra Accademia Calcio Roma, nel campionato di Prima Categoria (Lazio), girone B. L'anno dopo dirige il Divino Amore e la Mar Lazio calcio a 8[7] , nel 2019 è allenatore della Roma calcio a 8 [8], a luglio del 2020 è il nuovo allenatore dell'Atletico Lodigiani in Eccellenza Lazio. Dal settembre 2020 è supervisore dell'area tecnica del Tor De' Cenci[9] Nel 2021 è il direttore tecnico e dal 2024 è il responsabile della scuola calcio Nuova Florida[10][11]
Dopo il ritiro
È opinionista radiofonico sulle frequenze di Rete Sport, nella città di Roma.