Jenson Button snatched the Canadian Grand Prix victory after world champion Sebastian Vettel spun in the lead on the final lap.
The McLaren driver drove a near-perfect race to snatch the win despite a five-stop strategy, a puncture, a penalty for speeding under a safety car, two collisions with Lewis Hamilton and Fernando Alonso plus a two hour rain delay.
Button later declared it was the best win of his career after finding himself 21st and last at the half-way point after colliding with Alonso.
But the Brit stormed through the field as he mastered the treacherous conditions better than anyone else.
“It’s the most action I’ve seen in a grand prix win and I’ve come away with a win,” said the 31-year-old McLaren driver, a veteran of nearly 200 races.
“To fight my way through from last is definitely my best race.”
Mark Webber took the final podium place ahead of a rejuvenated Michael Schumacher following a race-long battle.
Renault’s Vitaly Petrov took fifth whilst Felipe Massa beat Kamui Kobayashi to sixth in a drag-race down the final straight.
The drama unfolded in monsoon conditions over four hours, a red flag and six safety cars.
Overnight rain had drenched the Gilles Villeneuve circuit and the FIA race director Charlie Whiting decided the race ought to begin behind the safety car.
After four laps it peeled in with Vettel heading the field, but the incidents began to flow as quickly as the currents of water.
Hamilton tried to overtake Webber for fourth at the first corner on lap five but careered into the Red Bull as he touched the wet inside kerb.
Webber spun and dropped back a dozen places whilst Button and Schumacher passed Hamilton.
Button ran wide later in the lap allowing the Mercedes and McLaren through. But he re-passed Hamilton a lap later as the Englishman ran wide at the hairpin after being forced wide by Schumacher.
Undeterred Hamilton hit back and as Button made a mistake into the final chicane on lap eight he tried to overtake his team-mate.
Hamilton pulled alongside next to the pit-wall but was sandwiched between Button and the pit-wall and broke his rear suspension.
Button came across on Hamilton but said he could not see him because of the spray. “What is he doing?” Button radioed to the pits after the incident.
Hamilton said: “While I fell back behind Jenson, he made a mistake into the last corner, so I got the run on him.
“I was on the outside, it felt like I was halfway up alongside him – although I haven’t seen the video – and whether he saw me or not he kept moving across, and I was in the wall.
Hamilton scrambled round a few more turns before parking it on the exit of turn five which brought out the safety car for a second time.
Button pitted for intermediate tyres and became the quickest man on the track only to receive a penalty for speeding under the safety car as he rushed back to the pits after the Hamilton smash.
Half the field, including Alonso pitted for intermediate tyres as the track dried only for the heavens to open on lap 20.
After five laps behind the safety car the race was suspended with Vettel leading from Kobayashi’s Sauber and Massa. Button was down in tenth.
For two hours the rain fell as marshals forlornly tried to sweep standing water off the track with brushes.
The race resumed under the safety car and, when it peeled in on lap 34, Vettel immediately stretched his advantage over the squabbling Kobayashi and Massa.
With the track drying by the lap Schumacher, Alonso and Button all came in for intermediate tyres on lap 36.
Button and Alonso came out together and collided at turn four. Alonso was pitched backwards into the barriers and Button received a left-front puncture.
As the McLaren trawled back for repairs the safety car was deployed for the fifth time as the Ferrari was towed away.
Alonso refused to take any blame for incident. He said: “We have been very lucky all the way through. When we switch to intermediates it started to rain and then there was a red flag in front of us and everyone else got to change, and so it goes on.
“Was the crash with Jenson my fault? I don’t think so.”
When the safety car pitted on lap 40, Button was 21st and last battling with the Hispanias and Virgin cars.
But on the intermediate tyres initially, and then later on the dries, Button carved his way through the field.
Schumacher was also rolling back the years with a master-class in the wet as he overtook both Kobayashi and Massa to take second at the hairpin on lap 51.
By the time a collision between Nick Heidfeld’s Renault and Kamui Kobayashi’s Sauber brought out the safety car again with 12 laps to go, Button had climbed to fourth place behind Vettel, Schumacher and Webber.
Vettel’s lead was once again wiped out but when the race restarted he comfortably extended his advantage over Schumacher.
The Mercedes driver was soon swamped by Webber and Button.
The Red Bull driver passed Schumacher at the last corner with six laps left, only to cut the chicane and had to allow the Mercedes back through.
He tried again the following lap but failed once again and allowed Button up to third as he ran wide and narrowly missed the wall.
Button though only needed one chance to pass the seven-time world champion and with four laps left started hunting down Vettel’s four-second lead at a rate of over 1.5s/lap.
Webber finally edged ahead of Schumacher at the final corner with two laps left to deprive the German of his fist podium since returning to the sport last year.
Button quickly closed onto the back of Vettel’s Red Bull but as they started the last lap the German looked certain for his sixth win of the season from just seven starts.
But at turn six the world champion carelessly ran wide off the dry line and Button slipped passed to take his tenth career victory.
“It was a very special race to win from where I was,” added Button.
“Even if I hadn’t won this race I would have enjoyed it immensely, but it was an amazing win.
“Fighting your way through the field is almost as good as winning the race – to be on the podium was a pretty exceptional result. I will remember this for a long time.”
McLaren team principal Martin Whitmarsh was full of praise for the 2009 world champion’s comeback drive.
“We knew he had to put pressure on Sebastian, and Sebastian made a mistake. From Jenson, that’s the stuff of champions, that’s the stuff of dreams.”
As Button took the chequered flag you could have been forgiven for thinking four hours and four minutes after the race began, it was all over. Far from it.
Kobayashi and Massa battled to the very last corner and when the Ferrari driver got better traction from the last corner he was able to slip by and take sixth.
Jaime Alguersuari drove brilliantly to take his first points of the season for eighth – despite starting in the pit-lane. Williams’ Rubens Barrichello and the second Toro Rosso of Sebastien Buemi rounded out the top-ten.