The 31-year-old Englishman, on Sunday driving his McLaren car with great courage, speed and judgement after surviving an early collision with team-mate Lewis Hamilton, emerged triumphant at the conclusion of an utterly unpredictable race.
It was a drive that included two collisions - with Hamilton and also with two-time champion Fernando Alonso of Ferrari - six pit-stops and a drive-through penalty.
It was also a race that took more than four hours to run and included a two-hour suspension due to a red flag because of torrential rain and five Safety Car interventions.
In the final lap, Vettel made a mistake when he ran wide and fractionally off the dry line with only a few corners remaining.
He locked up his rear wheels and in doing so gave the confident, charging Button his chance to surge through and triumph.
The 23-year-old German Red Bull driver had looked sure to win after leading from pole position both before and after the two-hour suspension, but he buckled under pressure from Button on the final lap and finished second.
This left Red Bull still without a win in Canada.
It also enabled Button to come home in an overall winning time of four hours, four minutes and 37.037 seconds, though the running time was one hour, 23 minutes and 50.995 seconds.
It was the 10th win of his career for the champion of 2009.
"I really don't know what to say, it's been a very emotional three hours or whatever it's been since the start," said a tearful Button afterward. "The incident with Lewis - I couldn't see anything and I've apologised to him.
"It was really a fight from then on, but I kept on pushing and I managed to get past Seb at the end. Another great win for me and possibly my best."
Vettel managed to hang on and finish second after being defeated for only the second time this year in seven races and his Red Bull team-mate Mark Webber came home third, after battling through in the closing laps.
"I was pushing and I think it would have been enough until the end, but obviously it was not because I made a mistake," said Vettel.
"It's clearly down to me. I locked up the rear a little bit. What you have to do then is open up the car going a bit straighter and when there's only one line, I ended up in the wet. It was quite easy then for him to pass."
Luckless seven-times champion Michael Schumacher finished fourth for Mercedes after looking poised to take a podium place.
Vitaly Petrov of Renault was fifth, Felipe Massa came home sixth for Ferrari, who lost Alonso through an accident, with Japanese Kamui Kobayashi seventh for Sauber. Massa passed the Sauber by a few metres as they crossed the line.
Jaime Alguersuari finished eighth for Toro Rosso ahead of Rubens Barrichello of Williams and Sebastien Buemi in the second Toro Rosso.
Button's triumph lifted him to second behind Vettel in the drivers' championship.
Vettel now has 161 points to Button on 101 with Webber third on 94 and Hamilton fourth on 85. In the constructors championship, Red Bull have 255 and McLaren have 186. Ferrari are third on 101.
McLaren team chief Martin Whitmarsh said: "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."
Button later added: "I got a drive-through for speeding behind the Safety Car so I had to find way through three times. On the last lap, I was chasing down Seb and he ran wide on the wet part of the circuit and I took the opportunity.
"It was a fantastic race, even if I hadn't won I would have enjoyed it... an amazing win and possibly my best. It is definitely one of those Grands Prix where you are nowhere and then somewhere.
"The last lap is the important one to be leading and I was leading half of it."
Button said he felt confident he would not be penalised for his part in either of his accidents.
"I'm not concerned at all because I don't feel I have done anything wrong, but you never know what the outcome will be," he said.
"It felt like I spent more time in the pits than on track. The guys did a great job of calling the strategy. At some points, we definitely lucked out with strategy.
"We called it very well going to slicks and the car was working really well in these tricky conditions. I enjoyed it very much coming through the field, fighting your way through the field is almost as good as winning the race.
"To be on the podium is a pretty exceptional result and to fight my way through from last position... It is definitely my best race." AFP (Gordon Howard)
Source:
http://www.thejakartaglobe.com