Ha iniziato la propria carriera da calciatore all'Olbia, in Serie C2. Nel 1989 è passato all'Empoli, in Serie C1. Ha militato nelle file del club toscano per sette stagioni, totalizzando 104 presenze e 11 reti in campionato. Nel 1995 si è trasferito al Chievo, in Serie B. Ha militato nelle file del club gialloblù per tre anni, totalizzando 76 presenze e 9 reti. Nel 1998 si è trasferito al Verona[1]. L'esperienza con il club veronese è durata otto stagioni, durante le quali ha totalizzato 146 presenze e 8 reti[1]. Nel gennaio 2006 si è trasferito in prestito all'Arezzo, in Serie B. Rientrato al Verona nell'estate 2006, vi ha militato fino a gennaio 2007, non collezionando alcuna presenza. Il 31 gennaio 2007 è passato al Grosseto[2]. Ha concluso la propria carriera da calciatore nel 2008, dopo una stagione alla Villacidrese[3].
Allenatore
Nella stagione 2008-2009 ha allenato il Pula. Nel luglio 2009 è diventato tecnico del Sanluri, club neopromosso in Serie D. Il 23 settembre 2009 è stato sollevato dall'incarico[4]. Nella stagione 2010-2011 ha allenato gli Allievi Nazionali dell'Empoli[5]. Nella stagione successiva è diventato tecnico della Primavera del club toscano[6]. Ha mantenuto l'incarico fino al termine della stagione 2012-2013[7]. Nella stagione 2013-2014 ha lavorato come osservatore[8] ed ha frequentato il Master UEFA Pro a Coverciano[9]. Il 18 novembre 2014 è diventato vice allenatore dell'Ischia Isolaverde[10][11]. Nel 2016 è diventato tecnico della formazione Under-16 del Cagliari[12][13]. Nella stagione successiva ha assunto la guida tecnica dell'Under-17 cagliaritana[13]. Il 5 giugno 2018 viene nominato responsabile tecnico della Primavera del Cagliari[13][14], mantenendo il ruolo di tecnico dell'Under-17. Ha mantenuto i due incarichi fino al 2020.