Inizia la carriera arbitrale a 17 anni con il debutto nel campionato giovanile esordienti nella gara Pro Lugo–Lavezzola. Successivamente esordisce nel campionato regionale dove, dal 1992 al 1996, arbitra 116 gare ufficiali dalla Seconda Categoria all'Eccellenza.
Viene promosso in C.A.N. D nel 1997 e, dopo soli due anni, approda alla Serie C. Qui arbitra un totale di 78 partite in 5 anni e, nel 2006, guadagna la promozione alla CAN A-B[1].
La sua permanenza in questo gruppo dura soltanto un anno, complice l'avvicendamento del designatore arbitrale Stefano Tedeschi e del Commissario Straordinario dell'AIALuigi Agnolin avvenuto dopo solo 4 mesi dall'inizio della stagione sportiva (primo caso in Italia di abbandono dell'incarico a stagione sportiva in corso).
In totale ha diretto 18 gare in Serie B ed ha assunto il ruolo di quarto uomo in 8 gare di Serie A, tra le quali Siena-Inter che ha visto la conquista del 15º scudetto da parte della squadra nerazzurra.
Ha ricoperto il ruolo di Componente nel Comitato Regionale Arbitri dell'Emilia-Romagna, per due stagioni. In precedenza, aveva fatto parte del Consiglio Direttivo della Sezione di Lugo di Romagna.
Dal 2016 al 2020 è stato Presidente della Sezione Arbitri di Lugo di Romagna.