Inizia con i kart nel 2006, anno in cui vince il Trofeo Nazionale italiano 60cc e quello europeo. All’età di diciotto anni passa alle monoposto partecipando ad alcune gare di Formula Abarth e imponendosi con sei vittorie nella Formula Pilota China con il team Eurasia Motorsport.
Nel 2013 giunge alla Formula 3 europea con il team Double R Racing, partecipando anche al F3 Masters di Zandvoort. L’anno successivo inizia a gareggiare per la scuderia britannica Carlin nella medesima categoria ottenendo due vittorie e il sesto posto in campionato. Nel 2015 conquista sei affermazioni ed è vicecampione di Formula 3 Europa, inoltre prende parte all’appuntamento russo del DTM alla guida di un’Audi RS5 del team Phoenix Racing. Nel corso dell’inverno esordisce anche nelle gare di durata al volante di un prototipo LMP2 nell’Asian Le Mans Series, cui l’anno successivo fanno seguito alcune gare del FIA World Endurance Championship (FIA WEC).
Il debutto in GP2 arriva nel 2016 con il team Prema Powerteam. Conquista la sua prima vittoria nella categoria di GP2 durante il Gran Premio d’Europa e si aggiudica il secondo posto in classifica con cinque successi tra i quali spicca quello ottenuto a Monza partendo dall’ultima posizione sullo schieramento.
La stagione sportiva 2017 lo vede impegnato come terzo pilota della Scuderia Ferrari ma ha anche modo di debuttare in Formula 1 quando, per due gare, prende il posto dell’infortunato Pascal Wehrlein al volante della Sauber-Ferrari.
Nel 2018 prende il via della 24 ore di Le Mans ottenendo il quinto posto al volante della Ferrari 488 GTE del team AF Corse e gira nelle prove libere del venerdì di sei Gran Premi rimanendo terzo pilota della Scuderia Ferrari.
Nel 2019, pur mantenendo la mansione all’interno della squadra italiana, diventa pilota titolare del team Alfa Romeo Racing, affiancando il finlandese Kimi Räikkönen. Nella sua prima stagione ha ottenuto 14 punti e il quinto posto in Brasile come miglior risultato mentre nel 2020 ha conquistato un nono posto in Austria e due decimi nel GP dell’Eifel e in quello dell’Emilia Romagna. Nel 2021 ha ottenuto tre punti con un nono posto in Arabia Saudita e un decimo a Monaco.
Nel 2022 continua ad essere reserve driver della Scuderia ma effettua due sessioni di prove libere (nei GP di Italia e Stati Uniti) al volante della Haas. Gareggia anche nel campionato di Formula E con la vettura del Dragon/Penske Autosport.
Nel 2023 al ruolo di Reserve Driver Ferrari affianca quello di titolare nel World Endurance Championship al volante della Ferrari 499P Hypercar numero 51.