Verstappen led for the majority of the race, which was interrupted twice for virtual safety cars which played a big role in strategy.
But it was a full safety car that played into Sainz’s hands near the end, allowing him to attack Verstappen in the closing stages, but he just couldn’t find a way past.
2022 Canadian Grand Prix race results
How the Canadian Grand Prix unfolded
Verstappen held his pole advantage on the run to Turn 1, arriving there ahead of Fernando Alonso (Alpine) and Sainz. Lewis Hamilton just held fourth for Mercedes after a wheel-to-wheel battle with Kevin Magnussen moments later at Turn 3, the Dane picking up some damage to his Haas’s right-front wing endplate.
Sainz DRS-ed past Alonso for second place on Lap 3, with Verstappen already 2.5s up the road.
George Russell’s Mercedes outbraked Magnussen for fifth at the hairpin, with Magnussen being shown the black and orange flag. He pitted from sixth at the end of Lap 8 for a new front wing.
Sergio Perez’s weekend went from bad to worse when his Red Bull suffered a gearbox issue on Lap 8 and was forced to pull off, causing a virtual safety car. Leader Verstappen pitted for hard tyres, promoting Sainz and Alonso to run first and second. Hamilton also stopped, giving up spots to Russell and Esteban Ocon (Alpine) as he rejoined in sixth.
The race resumed on Lap 10 with Sainz 1.5s ahead of Alonso, with Verstappen a further 4s behind. On fresh hards, Hamilton passed Ocon for fifth.
Verstappen breezed past Alonso with DRS on Lap 15 for second but was now 5.5s behind leader Sainz.
Haas then lost its second car from the points when Mick Schumacher pulled off at Lap 19 in the same spot as Perez, causing another VSC that Russell pitted under. Sainz pitted just as the VSC ended, rejoining just in front of Hamilton in third.
After fending off Hamilton, Sainz repassed Alonso for second on Lap 23, with Hamilton doing likewise a tour later. Alonso pitted on Lap 29, dropping to seventh, behind a battling Ocon and Leclerc.
Leclerc, who started 19th after an engine change penalty, started on the hard tyres and picked his way through the tailenders to run 13th after 10 laps.
He then got held up behind the Alfa Romeo of Valtteri Bottas, which was toiling to pass Alex Albon’s Williams. But once they stopped fighting, Leclerc was able to get ahead of both and get solidly into the points.
Leclerc then got stuck behind Ocon, where he remained until Lap 42 – and then suffered a slow stop that cost him four places, putting him at the rear of a DRS train in 12th again.
Verstappen pitted for a second time on Lap 44 and rejoined just behind Hamilton in third, but only took a lap to DRS past him, just before Hamilton stopped again.
Sainz pitted for a new set of hards, restarting right behind Verstappen on tyres that were six laps fresher, and ahead of Hamilton, Russell, Ocon, Alonso and Leclerc in a 16-lap sprint to the finish.
Sainz stayed in DRS range of Verstappen, as Leclerc outbraked Alonso for sixth at Turn 10, then repeated the move on Ocon a couple of laps later for fifth.
Lap after lap, Sainz got right on to Verstappen’s tail but the reigning world champion held his nerve and his lead.
UPDATE: After the race, Alonso was given a 5s penalty for weaving in front of Bottas, which drops him from seventh to ninth.