Max Verstappen overcame Formula 1 world championship rival Lewis Hamilton with a penultimate lap pass to win an absorbing French Grand Prix.
The Red Bull driver had to twice come from behind to overcome his Mercedes opponent at Paul Ricard, and briefly looked like he would run out of time to do so.
Poleman Verstappen handed the lead straight to Hamilton on the first lap when he slewed sideways through the first corners and went over the run-off area, rejoining in second.
He stayed close to the leader through the first stint, with Valtteri Bottas remaining in touch with Verstappen too in the second Mercedes.
When Bottas became the first of the trio to pit on lap 18, his immediate pace showed how powerful the undercut could be.
Verstappen came in next time past, having slipped to three seconds behind Hamilton.
But his out-lap was so strong that when Hamilton pitted on the following lap, the Red Bull was right alongside the Mercedes and took the lead into the first corner.
Verstappen, Hamilton and Bottas ran as one for the next stint, with Hamilton urging his team to make sure he got the undercut advantage if it became a two-stopper as expected.
Red Bull didn’t let Mercedes get that chance, though, bringing Verstappen back in to switch from hard to medium tyres after a middle stint of just 13 laps.
Mercedes moved into a 1-2 with Hamilton and Bottas but had to commit to staying out and waiting to see if Verstappen – who was quickly let past by team-mate Sergio Perez having rejoined fourth – would catch them over the 22-lap run to the finish.
Verstappen was initially 2s per lap quicker than the Mercedes pair when his tyre advantage was at its highest.
He caught and passed Bottas with eight laps left, then couldn’t make much progress into Hamilton’s remaining 5s cushion at first as he worked through traffic.
It looked at that moment like Hamilton might hang on for a remarkable win.
But Verstappen’s pace picked up again and he was soon on Hamilton’s tail, before diving past into the chicane to claim the lead with a lap to spare.
Perez passed a highly frustrated Bottas with four laps to go to claim a third place to follow up his Baku win, and although his pass on Bottas was under investigation for a possible track limits breach, the stewards concluded that no further action was necessary.
Lando Norris charged through to fifth ahead of McLaren team-mate Daniel Ricciardo by leaving his single stop much later than those he was racing and then using his fresher hard tyres to pass them all on track.
Ricciardo resisted Pierre Gasly’s AlphaTauri and Fernando Alonso’s Alpine to hold onto sixth.
Aston Martin got both its cars into the points thanks to extremely long first stints on hard tyres, allowing Sebastian Vettel to get to ninth and Lance Stroll to come from the back row to 10th.
They were helped by an awful slump for Ferrari. From racing against the McLarens and Gasly at first, Carlos Sainz and Charles Leclerc tumbled backwards in the second stint on hard tyres.
Sainz hung on to the finish and fell right back to 11th, which was still better than Leclerc achieved by pitting for a second time for mediums. He rejoined 16th and stayed there.
|Pos||Name||Car||Laps||Laps Led||Total Time||Fastest Lap||Pitstops||Pts|
|1||Max Verstappen||Red Bull-Honda||53||10||1h27m25.77s||1m36.404s||2||26|
|3||Sergio Pérez||Red Bull-Honda||53||5||+8.811s||1m36.693s||1||15|
|9||Sebastian Vettel||Aston Martin-Mercedes||53||0||+1m19.666s||1m37.138s||1||2|
|10||Lance Stroll||Aston Martin-Mercedes||53||0||+1m31.946s||1m37.828s||1||1|
|12||George Russell||Williams-Mercedes||52||0||+1 lap||1m38.314s||1||0|
|13||Yuki Tsunoda||AlphaTauri-Honda||52||0||+1 lap||1m38.98s||1||0|
|14||Esteban Ocon||Alpine-Renault||52||0||+1 lap||1m38.645s||1||0|
|15||Antonio Giovinazzi||Alfa Romeo-Ferrari||52||0||+1 lap||1m38.702s||1||0|
|16||Charles Leclerc||Ferrari||52||0||+1 lap||1m37.681s||2||0|
|17||Kimi Räikkönen||Alfa Romeo-Ferrari||52||0||+1 lap||1m37.992s||1||0|
|18||Nicholas Latifi||Williams-Mercedes||52||0||+1 lap||1m38.313s||1||0|
|19||Mick Schumacher||Haas-Ferrari||52||0||+1 lap||1m38.847s||1||0|
|20||Nikita Mazepin||Haas-Ferrari||52||0||+1 lap||1m39.317s||1||0|