Lewis Hamilton produced a composed race to hold off a charging Sebastian Vettel for a fifth Canadian Grand Prix victory.
Starting third on the grid, Vettel leapt off the line and into the lead, but a rushed pitstop under the virtual safety car let Hamilton back in front and Mercedes pulled off a one-stop strategy to perfection.
Nico Rosberg was the big loser of a frantic jump off the line, falling from second to 10th after being squeezed off the track by Hamilton.
Rosberg recovered to just a fifth-place finish - a spin on the final lap ending his hopes of taking fourth - and Hamilton has now closed to within nine points of his team-mate in the drivers' championship.
Valtteri Bottas was also successful with a one-stop strategy, taking a third-consecutive third place in Montreal, and Williams' first podium of 2016.