Nel gennaio 2009 viene inserito dalla FIFA nell'organico degli arbitri internazionali. Nel luglio 2009 riceve la sua prima designazione dall'UEFA: è chiamato a dirigere la partita di ritorno tra Lahti e Gorica, valida per il secondo turno preliminare di Europa League. Il 4 settembre 2009 dirige la sua prima gara tra nazionali maggiori, in occasione dell'amichevole Malta-Capo Verde.
Nel febbraio 2014 fa il suo esordio nella fase ad eliminazione diretta dell'Europa League, dirigendo una partita di ritorno valida per i sedicesimi di finale. Il 30 luglio 2014, esattamente un anno dopo il debutto in Champions League, ritorna ad arbitrare in questa Coppa una gara d'andata del terzo turno preliminare: si tratta di Feyenoord-Beşiktaş (1-2). Altra gara internazionale, questa volta in ambito Europa League il 28 agosto: sua la direzione del ritorno dei play-off tra i belgi del Club Brugge e gli svizzeri del Grasshoppers.
Sempre in questa coppa è stato designato per la direzione del 18 settembre a Liverpool – prima partita della fase a gironi – tra gli inglese dell'Everton e i tedeschi del Wolfsburg (4-1). Il 13 ottobre debutta nelle qualificazioni per il Campionato Europeo delle Nazioni 2016 dirigendo a Zenica la gara tra la Bosnia ed Erzegovina e il Belgio. Per l'ultimo turno della fase a gironi dell'Europa League viene scelto per dirigere l'11 dicembre la decisiva sfida del girone "A" tra i tedeschi del Borussia Mönchengladbach e gli svizzeri dello Zurigo (3-0).
Debutto nella stagione delle coppe europee il 28 luglio 2015: dirige per l'andata del Terzo turno di qualificazione di UEFA Champions League la gara tra il Salisburgo è Malmö FF. L'8 agosto 2015 dirige la gara di Supercoppa italiana giocata a Shangai da Juventus e Lazio. Per la prima volta nella sua carriera arbitra in questa competizione. Ritorno internazionale il 20 agosto per dirigere la gara d'andata dei play-off di Europa League tra i romeni della Steaua Bucarest (allenata dall'italiano Massimo Pedrazzini) e i norvegesi del Rosenborg.
Nella prima giornata dei gironi di Europa League, subito un impegno importante: il 17 settembre 2015 nell'ambito del Gruppo A dirige la gara tra l'Ajax e il Celtic. Un anno dopo il debutto di Zenica, ritorna a dirigere il 12 ottobre 2015 per Euro 2016 nell'ultimo turno qualificativo: nell'ambito del Gruppo "G" sarà di scena a Stoccolma (Stadio Friends Arena nel sobborgo di Solna) dove la Svezia ospiterà la Moldavia. Ritorno in Europa League giovedì 5 novembre 2015: nell'ambito del quarto turno della fase a gironi (Gruppo E) dirige Viktoria Plzen - Rapid Vienna.
Dopo la pausa invernale, viene confermato come arbitro in Europa League e gli viene affidato, il 18 febbraio 2016, il match di andata degli ottavi di finale tra il Borussia Dortmund e il Porto: sarà coadiuvato dagli assistenti di linea Manganelli e Giallatini e da quelli di porta Marco Guida e Andrea Gervasoni. Nel marzo del 2016 è selezionato ufficialmente come
arbitro di porta in vista dell'Europeo 2016, nella squadra arbitrale diretta da Rizzoli. Il 25 maggio 2016, a pochi giorni dall'inizio della competizione, l'AIA rende nota la rinunzia del fischietto toscano al ruolo di addizionale, per "sopraggiunti motivi attinenti alla sua sfera personale": viene sostituito nel ruolo dal collega Daniele Orsato.
Il 31 dicembre 2018 viene ritirato dalle liste FIFA.[1]
Nell'occasione della trentottesima giornata di Serie A, svoltasi domenica 26 maggio 2019, dirige l'ultima partita della sua carriera, sfida tra Inter e Empoli, vinta per 2-1 dai padroni di casa.
Il 3 luglio 2019 viene dismesso dalla C.A.N. A per sopraggiunti limiti d'età.
Al termine della sua carriera vanta 227 presenze in serie A, piazzandosi al decimo posto nella specifica classifica all time.
Il 13 luglio 2019 viene inserito nel neonato "Gruppo VAR PRO", arbitri ritirati dall'attività di campo che svolgono la funzione di Video Assistant Referee, essenzialmente per le gare di serie A.[3]