Cape Town - Lewis Hamilton clinched his fifth Canadian Grand Prix victory as he recovered from a sluggish start to beat Sebastian Vettel to the chequered flag.
Hamilton and his one-stopper took on Vettel and Ferrari's two-stop strategy for the victory in Montreal on Sunday.
The German held the early advantage as he stormed by Hamilton off the line, going around the outside to take the lead while the two Mercedes drivers bumped and bumped again as they fought for position.
Vettel was 1.6s ahead of Hamilton when he pulled into the pits under the Virtual Safety Car on lap 11 to swap his ultras for a set of supersofts. Hamilton in turn was 5.5s ahead of the four-time Champion, who had to pass both Red Bull drivers on the track - Daniel Ricciardo in the hairpin and Max Verstappen into the final chicane - when he stopped on lap 24 for new softs.
As Hamilton began to eat into Vettel's lead, the latter was heard shouting "get this traffic out of the way" over the radio as he caught backmarkers. The gap was 9.6s when Vettel pitted on lap 37 for his second - and final - stop of the day. He re-emerged 7.4s behind the Mercedes driver but with tyres that were 13 laps fresher.
Vettel reduced the deficit to just over four seconds before an off at the chicane cost him time and seemingly broke his challenge. Hamilton raced to the victory, his second in succession and his fifth in Canada, by X seconds ahead of the Ferrari driver. Valtteri Bottas was third for Williams ahead of Max Verstappen and Nico Rosberg, who engaged in a late battle which saw the Red Bull racer determinedly hold off the Championship.
Rosberg had recovered from his lap 1 off only to suffer a "slow right rear puncture" that forced him into a second stop from which he had to once again recover. He only got as far as Verstappen with his efforts to pass the teenager on the final lap ending in a spin.
Kimi Raikkonen was sixth ahead of Daniel Ricciardo. The latter ran as high as P4 but, struggling with his second set of tyres, had to pit again, a stop in which his mechanics were slow to change his front right.
Nico Hulkenberg, Carlos Sainz and Sergio Perez completed the top ten.
There were three retirements on the afternoon with Jenson Button the first out as he he reported "the engine is gone." He parked on the side for the track with flames coming from the rear of his McLaren.
Jolyon Palmer retired on lap 20 as his RS16 was rolled back into the Renault garage due to a water leak while Felipe Massa's points-scoring run ended on lap 37 when he retired his FW38.
1 Lewis Hamilton Mercedes 1:31:05.296
2 Sebastian Vettel Ferrari +5.011
3 Valtteri Bottas Williams 46.422
4 Max Verstappen Red Bull Racing 53.020
5 Nico Rosberg Mercedes 1:02.093
6 Kimi Raikkonen Ferrari 1:03.017
7 Daniel Ricciardo Red Bull Racing 1:03.634
8 Nico Hulkenberg Force India 1 lap
9 Carlos Sainz Jr Toro Rosso 1 lap
10 Sergio Perez Force India 1 lap
11 Fernando Alonso McLaren 1 lap
12 Daniil Kvyat Toro Rosso 1 lap
13 Esteban Gutierrez Haas F1 Team 2 laps
14 Romain Grosjean Haas F1 Team 2 laps
15 Marcus Ericsson Sauber 2 laps
16 Kevin Magnussen Renault F1 Team 2 laps
17 Pascal Wehrlein Manor Racing 2 laps
18 Felipe Nasr Sauber 2 laps
19 Rio Haryanto Manor Racing 2 laps
Did Not Finish
Felipe Massa Williams engine
Jolyon Palmer Renault F1 Team water leak
Jenson Button McLaren engine