Lewis Hamilton dominated the Canadian Grand Prix for Mercedes to claim his sixth win at the Gilles Villeneuve Circuit, with a 20-second advantage over team-mate Valtteri Bottas in second place – the pair's first 1-2 for Mercedes.
The Britain led from start to finish and never relinquished the lead, even during his single pitstop as he ran a long strategy, stopping on Lap 32, whilst his rivals stopped much earlier in the race.
Red Bull's Daniel Ricciardo claimed the final podium position, seeing off a challenge from a pack of cars behind which saw him finish just 0.610s ahead of Ferrari's Sebastian Vettel.
Championship leader Vettel meanwhile had a disaster of a start, making contact with a charging Max Verstappen at Turn 1 which damaged his front-wing and later leading to a complete wing failure on the right-side, forcing him to stop.
Vettel emerged in last place after that, but mounted a comeback to carve his way through the field, finally finishing fourth to limit the damage to his championship challenge.
A Safety Car came out on Lap 1 when Romain Grosjean and Carlos Sainz made contact at Turn 3. The latter retired from the incident and took with him an innocent Felipe Massa, whilst the Haas driver suffered front-wing damage.
Just a handful of laps after the restart and second-placed Verstappen, who gained three places at the start, pulled off the circuit with a battery problem, much to his disappointment as he banged his steering wheel in anger.
There was racing up and down the order as the race progressed, with a battle for the final podium place the hottest of them all as Ricciardo fended off a challenge from Force India's Sergio Perez and Esteban Ocon.
The Force India duo chased the Red Bull for some 25 laps, but couldn't find a way past, much to the annoyance of Ocon, who several times asked to be let passed Perez to attack the Australian – an order Perez refused, which ultimately cost the duo a place as Vettel caught up and passed with just four laps remaining.
Kimi Raikkonen was seventh as a brake issue hampered his pace, finishing a second ahead of Nico Hulkenberg.
Canada's Lance Stroll took his first point and the first point for a Canadian since Jacques Villeneuve, fittingly at the Circuit Gilles Villeneuve – Stroll's home race.
Fernando Alonso looked set for a points position, before an engine failure two laps from the end saw him retire, promoting Grosjean to tenth.
Daniil Kvyat had a nightmare of a race as he stalled during the formation lap, was penalised with a drive-through and a ten-second time penalty for failing to take up the correct grid spot, before eventually retiring.