Lewis Hamilton finally took his first victory of the 2012 Formula 1 season as the McLaren driver charged back to pass the one-stopping Fernando Alonso's Ferrari and win the Canadian Grand Prix for the third time in his career.
The result also makes Hamilton the seventh different race winner in as many GPs this year, extending the record.
Lotus's Romain Grosjean and Sauber's Sergio Perez took the second podium finishes of their careers as they demoted the fading Alonso, who eventually dropped to fifth.
Poleman Sebastian Vettel only finished fourth, but had led Hamilton and Alonso in the opening stint. The Red Bull driver was the first of the trio to stop for tyres, and found himself jumped by both his rivals as they came in shortly afterwards. Alonso came off best of all as he vaulted both the Red Bull and the McLaren, but Hamilton was able to re-pass the Ferrari in the DRS zone on Alonso's out-lap.
The McLaren then edged slightly away before coming in for a second tyre stop on lap 49. Alonso and Vettel decided to try and make it to the end on their existing rubber, but Hamilton had the pace to hunt down and pass both of them, going to win and claim the points lead in the process.
Vettel then gave up his one-stop attempt and made a very late tyre stop, while Alonso clung on and hoped to still make it to the end in second, only for his pace to get ever worse. Grosjean - who had pitted only two laps later than the Ferrari - was soon past Alonso into second, with Perez (who left his sole stop until lap 41) and the recovering Vettel also easily dismissing the Spaniard.
Two-stoppers Nico Rosberg (Mercedes) and Mark Webber (Red Bull) were sixth and seventh, ahead of Kimi Raikkonen's Lotus and Kamui Kobayashi's Sauber.
Felipe Massa spun from fifth to 12th in his Ferrari early on, and had to settle for 10th after stopping twice for tyres.
Force India's Paul di Resta had a spell as high as sixth in the early running, only to lose ground with a relatively early first of two pitstops, leaving him 11th.
It was another disastrous race for both Jenson Button and Michael Schumacher. The second McLaren had to make three tyre stops and finished a lapped 16th, while the rear wing flap on Schumacher's Mercedes jammed open, ending his race.
PROVISIONAL RACE RESULTS The Canadian Grand Prix Montreal, Canada; 70 laps; 305.270km; Weather: Sunny. Classified: Pos Driver Team Time 1. Hamilton McLaren-Mercedes 1h32:29.586 2. Grosjean Lotus-Renault + 2.513 3. Perez Sauber-Ferrari + 5.260 4. Vettel Red Bull-Renault + 7.295 5. Alonso Ferrari + 13.411 6. Rosberg Mercedes + 13.842 7. Webber Red Bull-Renault + 15.085 8. Raikkonen Lotus-Renault + 15.567 9. Kobayashi Sauber-Ferrari + 24.432 10. Massa Ferrari + 25.272 11. Di Resta Force India-Mercedes + 37.693 12. Hulkenberg Force India-Mercedes + 46.236 13. Maldonado Williams-Renault + 47.052 14. Ricciardo Toro Rosso-Ferrari + 1:04.475 15. Vergne Toro Rosso-Ferrari + 1 lap 16. Button McLaren-Mercedes + 1 lap 17. Senna Williams-Renault + 1 lap 18. Kovalainen Caterham-Renault + 1 lap 19. Petrov Caterham-Renault + 1 lap 20. Pic Marussia-Cosworth + 2 laps Fastest lap: Vettel, 1:15.752 Not classified/retirements: Driver Team On lap Glock Marussia-Cosworth 57 Schumacher Mercedes 34 De la Rosa HRT-Cosworth 25 Karthikeyan HRT-Cosworth 23 World Championship standings, round 7: Drivers: Constructors: 1. Hamilton 88 1. Red Bull-Renault 164 2. Alonso 86 2. McLaren-Mercedes 133 3. Vettel 85 3. Lotus-Renault 108 4. Webber 79 4. Ferrari 97 5. Rosberg 67 5. Mercedes 69 6. Raikkonen 55 6. Sauber-Ferrari 58 7. Grosjean 53 7. Williams-Renault 44 8. Button 45 8. Force India-Mercedes 28 9. Perez 37 9. Toro Rosso-Ferrari 6 10. Maldonado 29 11. Kobayashi 21 12. Di Resta 21 13. Senna 15 14. Massa 11 15. Hulkenberg 7 16. Vergne 4 17. Schumacher 2 18. Ricciardo 2 All timing unofficial