Vainqueur du championnat de GP2 Series 2016, il fait ses débuts en Formule 1 avec la Scuderia Toro Rosso, au Grand Prix de Malaisie 2017 où il remplace Daniil Kvyat. Titularisé dans cette équipe en 2018, il marque ses premiers points en finissant quatrième du Grand Prix de Bahreïn. L'année suivante, il rejoint l'écurie Red Bull Racing, aux côtés de Max Verstappen. Après une première partie de saison jugée décevante, il est remplacé par Alexander Albon à partir du Grand Prix de Belgique et retourne chez Toro Rosso ; pour son quarante-sixième départ dans la discipline, au Brésil, il devient à 23 ans, 9 mois et 10 jours, le plus jeune Français à monter sur un podium.