Lewis Hamilton led Jenson Button to a McLaren one-two in a thrilling Canadian Grand Prix after a race-long five-car battle in Montreal.
Hamilton fought with Ferrari's Fernando Alonso throughout, but the Spaniard lost out to Button with 14 laps to go.
Red Bull's Sebastian Vettel and Mark Webber were also contenders for victory and finished fourth and fifth.
The result puts Hamilton in the championship lead, three points clear of Button, with Webber and Alonso next.
"It's been a tremendous weekend, fantastic," said Hamilton. "Things have just gone so well. Tremendous support from the fans and the team did an exceptional job. One of the toughest races of the year. These guys (Button and Alonso) did a fantastic job.
"Traffic was the opportunity for all of us today to get past the guy in front and I capitalised on that."
The race victory turned on tyre strategy, and a couple of key incidents between Hamilton and Alonso.
Hamilton put himself in a position to win when he passed Alonso on lap 15 while the two were harrying Sebastien Buemi for the lead.
The Swiss Toro Rosso driver had found himself at the head of the field as the differing tyre choices of the main contenders played out in the opening laps.
http://news.bbc.co.uk/sport2/hi/motorsport/formula_one/8737884.stm