MONTREAL: Jenson Button celebrated his greatest victory Sunday after overtaking Red Bull's Formula One world champion Sebastian Vettel on the last lap of a rain-delayed Canadian Grand Prix thriller. Vettel, who skidded wide under relentless pressure just a few corners from the finish, recovered from his error to take second place ahead of Australian teammate Mark Webber. The race, a chaotic epic packed with incident that will be remembered as a highlight of any season, had earlier been halted for more than two hours as rain lashed the Circuit Gilles Villeneuve. Button had to fight through from the back of the field to deny the runaway championship leader a sixth victory in seven races. Along the way he squeezed McLaren teammate and fellow Briton Lewis Hamilton into the wall and out of the race and also collided with Ferrari's Fernando Alonso, ending the Spaniard's hopes when his car spun and was stuck on a kerb. Despite his error, Vettel stretched his overall championship lead to 60 points with the 23-year-old German now on 161 to Button's 101. The race, punctuated by five safety car periods as well as the rain delay, finished more than four hours after it started. Seven-time world champion Michael Schumacher narrowly missed out on the first podium of his comeback by bringing his Mercedes home in fourth place. Russian Vitaly Petrov finished fifth for Renault while Brazilian Felipe Massa forced his way past Sauber's Kamui Kobayashi on the line in a virtual photo-finish. Jaime Alguersuari was eighth for Toro Rosso, a big boost for the Spaniard whose teammate Sebastien Buemi was 10th, with Brazilian Rubens Barrichello scoring points for Williams for the second race running. The stewards, one of them Brazil's former world champion Emerson Fittipaldi, had their hands full with a list of incidents under scrutiny but decided no further action was required and the results stood.