Cresciuto a Palo del Colle, si è avvicinato all'atletica solo nel 2003. Ai Mondiali allievi di Bressanone del 2009 è finito 14º nella 10 km, mentre ai Mondiali juniores di Moncton si è piazzato 13º. Nel 2011 è stato tesserato dal Gruppo Sportivo Fiamme Oro. Nel 2013 ha vinto la medaglia d'argento agli Europei under 23 a Tampere e nel 2014 ha partecipato ai Campionati europei a Zurigo classificandosi terzultimo nella 20 km con 1h29'14". È stato selezionato sui 20 km per i Mondiali di Pechino del 2015,[2], dove è arrivato 19º, dopo aver vinto il titolo nazionale assoluto a Cassino nel 2015.
Il 4 marzo 2018 ha vinto il titolo italiano assoluto a Roma nella marcia 20 km con il tempo di 1h21'02". Due mesi dopo, a Taicang in occasione dei Mondiali di marcia a squadre, ha ottenuto la medaglia di bronzo in 1h21'33" dietro a Kōki Ikeda (1h21'13") e Wang Kaihua (1h21'22") nell'individuale e l'argento nella classifica a squadre. Nel mese di agosto, ai campionati europei di Berlino si è classificato 4º in 1h20"51 ad un secondo dal podio. L'8 giugno 2019 ha battuto il record nazionale della 20 km in 1h17'45", a La Coruña (Spagna). Il 5 agosto 2021 ha conquistato l'oro della 20 km ai Giochi olimpici di Tokyo.[3]