Lewis Hamilton put Monaco misery behind him on Sunday with a controlled Canadian Grand Prix victory that sent the Formula One world champion 17 points clear of Mercedes team mate and title rival Nico Rosberg.
The Briton's fourth victory in seven races this season, and fourth career win in Canada, denied Rosberg a third triumph in a row and provided the perfect response to losing out in the showcase race two weeks ago.
There he had been leading comfortably from pole only to lose out after a needless late pitstop when the safety car was deployed.
There was no need for the safety car on Sunday, at a circuit that has seen it plenty of times in the past, and there was little in the way of drama either -- other than a startled groundhog appearing on the track -- as Hamilton led from pole.
Rosberg was never close enough to attack and the rest of the field was so far behind as to be out of sight, with Hamilton lapping all but six of the cars behind him at the circuit where he took his first F1 win in 2007 with McLaren.
Finland's Valtteri Bottas was third for Williams, a massive 40.6 seconds behind Hamilton, to become the first driver from outside Mercedes or Ferrari to appear on the podium this year.
"I love Montreal," Hamilton told the crowd as he stood on the podium after his 37th career win. "Nico was quick but I felt like I always had it under control.
"Did I need this?" he asked the spectators to raucous cheers. "I think so."
Bottas moved up one place from where he started, beating his fellow-Finn Kimi Raikkonen after the Ferrari driver spun following a pitstop.
Raikkonen finished fourth, ahead of team mate Sebastian Vettel who fought his way through the field from 18th at the start.
Bottas's Brazilian team mate Felipe Massa finished sixth after starting 15th.
Venezuelan Pastor Maldonaado scored his first points of the season for Lotus in seventh place and Germany's Nico Hulkenberg limbered up for his Le Mans 24 Hours debut next weekend with eighth place for Force India.
Russian Daniil Kvyat was ninth for Red Bull and Frenchman Romain Grosjean took the final point for Lotus after a late coming together with Manor Marussia's Will Stevens.
Neither of the McLarens finished the race, with Spain's double world champion Fernando Alonso expressing his frustration over the radio at being told save fuel.