Cresce a Recoaro Terme, dove inizia ad avvicinarsi al mondo del calcio nella realtà dell’oratorio. Dopo un’esperienza come allenatore delle locali squadre di pulcini inizia la carriera arbitrale a 17 anni presso la sezione AIA di Schio a cui tuttora appartiene. Viene promosso alla C.A.N. C nel 2002, per decisione del dirigente arbitrale Claudio Pieri. In tutto accumula 69 presenze in Serie C1, comprese le finali play-off Pavia-Mantova e Monza-Genoa, e a cui bisogna aggiungere le finali play-off della Serie C2 tra Sangiovannese e Gualdo e quella tra Carpenedolo e Ivrea.
Nel 2006 arriva la promozione nella massima categoria, ancora una volta selezionato dal suo mentore, l’ex arbitro ligure Claudio Pieri. In Serie A ha esordito il 17 dicembre 2006 in Siena-Atalanta (1-1), dirigendo poi altre due gare nella massima serie e numerose altre nella cadetteria. Al termine della stagione sportiva 2013-2014 ha diretto 128 partite in serie A, tra cui quattro “classiche” del campionato: Milan-Juventus nel 2009,Roma-Juventus e il Derby di Milano nella stagione 2011-2012, Roma-Inter nella stagione 2012-2013.
A partire dalla stagione 2007-08 è stato selezionato come “quarto uomo” dall’UEFA per alcune partite di Champions League, confermando così di essere uno fra i più promettenti giovani arbitri italiani. L’11 luglio 2008 ha ricevuto il premio “G. Marchese” quale miglior arbitro immesso nella C.A.N. A-B da meno di due stagioni. Il successivo 10 agosto ha ricevuto la dodicesima edizione del Premio Sportilia, insieme a Massimiliano Saccani. Il 17 dicembre 2009 riceve la notizia ufficiale circa la sua nomina a nuovo arbitro internazionale.
Il 3 luglio 2010, con la scissione della C.A.N. A-B in C.A.N. A e C.A.N. B, viene inserito nell’organico della C.A.N. A. In campo internazionale, nell’ottobre 2010 fa il suo esordio in una sfida tra nazionali maggiori, dirigendo Armenia-Slovacchia, gara valida per le qualificazioni ad Euro 2012. Nel maggio 2012, su invito dellafedercalcio rumena, dirige la finale di Coppa di Romania disputatasi nell’occasione tra Rapid Bucarest e Dinamo Bucarest allo Stadionul Național.
Nel 2012 vince il Premio Giovanni Mauro. Nel settembre 2012 è designato dall’UEFA per una partita della fase a gironi della Champions League: si tratta dell’esordio assoluto per il fischietto veneto. Nell’occasione, dirige un match tra i croati della Dinamo Zagabria e i portoghesi del Porto. Altro impegno a dicembre tra Manchester United e CFR Cluj.
Nel febbraio 2013 fa il suo esordio nella fase ad eliminazione diretta dell’Europa League, dirigendo il match di andata dei sedicesimi di finale tra i cechi dello Sparta Praga e gli inglesi del Chelsea. Al termine della stagione 2012-2013 viene designato per arbitrare la finale di Coppa Italia in programma all’Olimpico il 26 maggio2013, tra Roma e Lazio assieme agli assistenti Di Liberatore e Tonolini, al quarto ufficiale Paolo Silvio Mazzoleni e gli arbitri di porta Luca Banti e Antonio Damato.
Nel febbraio 2014 viene designato per dirigere la finale della 66ª edizione della Viareggio Cup World Football Tournament Coppa Carnevale, nell’occasione disputatasi tra Milan ed Anderlecht.
Nel maggio 2014 viene designato per la seconda volta di fila per la finale di Coppa Italia in programma all’Olimpico il 3 maggio 2014, tra Fiorentina e Napoli assieme agli assistenti Di Liberatore e Padovan, al quarto ufficiale Davide Massa e gli arbitri di porta Paolo Valeri e Daniele Doveri.
Ritorna a dirigere gare in Europa il 21 agosto 2014 in occasione dell’ultimo turno qualificativo di Europa League, gara di andata, tra i romeni del Petrolul Ploiesti e i croati della Dinamo Zagabria. Sempre nell’ambito di questa Coppa, dirige ad Atene il 18 settembre il primo incontro della fase a gruppi tra il Panathinaikos e la Dinamo Moskva.
Il 10 ottobre 2014 debutta nelle qualificazioni per il Campionato d’Europa per Nazioni 2016 dirigendo a Nicosia la gara tra Cipro e Israele.
Arriva il primo impegno stagionale in Champions League il 5 novembre 2014: sua la direzione tra gli sloveni del Maribor e gli inglesi del Chelsea. Sempre nella principale Coppa Europea arriva il secondo impegno: il 10 dicembre dirige la gara tra Athletic Bilbao e i bielorussi del Bate Borisov. Le due squadre sono eliminate dal prosieguo della Champions League ma lottano per un posto in Europa League.
Dopo la pausa invernale, impegno in Europa League il 12 marzo 2015: gli viene affidata – nell’ambito degli ottavi di finale – la gara d’andata del derby tutto spagnolo tra il Villarreal e il Sevilla.
Nel marzo 2015 viene resa nota dalla FIFA la sua convocazione al Mondiale Under 20, in programma tra maggio e giugno 2015 in Nuova Zelanda. Si tratta della prima convocazione in un torneo FIFA per il fischietto veneto.