Button's second victory of the season
McLaren's Jenson Button celebrated his 200th Formula One start by winning the Hungarian Grand Prix on Sunday after a thrilling race decided by tyre choices in the slippery, wet conditions.
Red Bull's Sebastian Vettel was second despite an error-strewn race to increase his championship lead over team mate Mark Webber to 85 points and move him closer to defending his title with eight races left after the mid-season break.
Ferrari's Fernando Alonso was third.
Briton Button sealed his second victory of the season after being wheel to wheel with Lewis Hamilton only for his teammate to drop back to fourth after a choosing the wrong tyres and then serving a drive through penalty following a spin.
Image: McLaren's Jenson Button with his trophy after winning the Hungarian GP
Photographs: Getty Images
'Perfect race for my 200th'
"A wonderful race, it's just perfect for my 200th Grand Prix. This is where I first won in Formula One. I'm going to enjoy this evening," Button, who won here in 2006 also in the wet, told a news conference.
"It was good fun, one of my most enjoyable races, but I'd like to win one in the dry."
The Briton has now won 11 Grand Prix in a career that started with Williams in 2000.
"Congratulations to Jenson, he was pushing me hard the whole race and the better man won today," said Hamilton, who led before it all went wrong.
"Of course we would have loved a one-two, I feel like I let the team down a little bit but we'll bounce back at the next race."
Image: McLaren's Jenson Button celebrates his victory with teammembers in the Hungarian F1 Grand Prix at the Hungaroring circuit on Sunday
Vettel made a good start from pole
The biggest example of the wet conditions was when Virgin's Jerome D'Ambrosio came into the pits almost sideways as he slid all over the place, causing mechanics to dive for cover. Luckily, nobody was hurt.
As the drizzle and tyre strategies came and went, the less than capacity crowd at the ageing Hungaroring were treated to a string of overtaking moves at a twisty circuit where passing had been difficult in the past.
Vettel made a good start from pole but Hamilton, winner of the previous race in Germany last Sunday, kept on the world champion's tail having been second on the grid.
Image: McLaren's Jenson Button (left), Red Bull's Sebastian Vettel (centre) and Ferrari's Fernando Alonso spray champagne on the podium
'I was struggling a bit on the first stint'
The slippery track contributed to Vettel running wide early on and the Briton saw his chance to speed past before his afternoon went sour.
Button, third in qualifying and winner of the rain-hit Canadian GP in June, then also overtook the German in partially wet conditions as McLaren again showed their race superiority over the previously dominant Red Bull.
"I was struggling a bit on the first stint. It was quite tricky," said Vettel, who now has 234 points to Webber's 149, Hamilton's 146, Alonso's 145 and Button's 134.
Red Bull have 383 points to McLaren's 280 in the constructors' standings.
Image: McLaren's Jenson Button celebrates with his girlfriend Jessica Michibata after winning the race
Drivers struggled to keep their cars under control
Drizzle had been in the air throughout Sunday and there was significant spray in some areas of the track early on.
Mercedes' Nico Rosberg cut past the two Ferraris of Felipe Massa and Fernando Alonso as well as Webber in the opening exchanges as drivers struggled to keep their cars under control.
Brazil's Massa, who suffered serious head injuries in an accident at the Hungaroring in 2009, then spun violently into the grass on lap eight and slipped down to ninth before fighting back up to sixth having started fourth on the grid.
Teammate Alonso soon got back past Rosberg, in his 100th F1 race, to move up into fourth but the Spaniard slipped back again when passed by Webber on lap 15 only for the Australian to end up fifth as the weather constantly changed.
Teams went with dry tyres at the first switch with the rain seeming to peter out but that did not stop the drama.
Image: Scuderia Toro Rosso celebrate their 100th Grand Prix during the Hungarian Grand Prix at the Hungaroring on Sunday
Photographs: Getty Images
Heidfeld's race ended in a blaze
Nick Heidfeld's race ended in a blaze when his Renault caught fire shortly after leaving the pits and the German quickly parked up and jumped out as smoke billowed into the sky.
Seven-times world champion Michael Schumacher's miserable run continued when he had to retire his Mercedes before the halfway stage with a gearbox failure.
The rain returned intermittently two-thirds of the way through the race just as Hamilton opted to go back to intermediates having taken the lead from Button and then lost it again when hitting the kerb and spinning.
The tyre decision was an error and he quickly came to the pits to change back before having to return for a drive through penalty having forced Force India's Paul di Resta off the track.
"I have to apologise to Paul...I didn't see him. so I had absolutely no clue," said Hamilton.
Image: Renault's Nick Heidfeld jumps away from his burning car during the Hungarian GP at the Hungaroring circuit