Red Bull's Max Verstappen has held off Ferrari's Carlos Sainz to win the Canadian Grand Prix and celebrate his 150th Formula One race by surging 46 points clear in the world championship.
The 24-year-old Dutch driver took his 26th career win just 0.9s ahead of frustrated Spaniard Sainz, who closed the gap during a safety car deployment, but whose long wait for a first win continues.
Seven-time world champion Lewis Hamilton completed the podium for Mercedes in a remarkable turnaround, after he described his bouncing car as undriveable only days before.
Sainz collected the bonus point for fastest lap, as the Italian team at least managed to trim the gap to runaway leaders Red Bull in the constructors' championship to a hefty 76 points from a previous 80.
"It was really exciting at the end," said Verstappen, after his sixth win of the season and Red Bull's sixth in succession. "I was giving it everything I had and, of course, Carlos was doing the same."
"I could see he was pushing and charging, but when you're on the DRS [drag reduction system], it's a lot easier to charge. The last few laps were a lot of fun."
Sainz said he tried everything he could to win at a circuit named after Canada's Ferrari great, Gilles Villeneuve.
"We were very, very close to winning today," he added. "I will take the positives and keep trying in the next one."
Verstappen's Mexican teammate, Sergio Perez, who remains second overall, retired after just eight of the 70 scheduled laps, when his car's engine failed and was stuck in gear.
Ferrari's Charles Leclerc started 19th, after engine penalties, and ended the day fifth, but now 49 points behind Verstappen.