|Button said that he seemed to do best in wet conditions after coming in ahead of world champion Vettel [AFP]
Jenson Button marked his 200th Grand Prix with a reminder of his class driving his McLaren to a stirring victory in a chaotic Hungarian Grand Prix.
The 31-year-old Briton, who started third on the grid, made the most of some wretched ill-fortune for his teammate and compatriot Lewis Hamilton in changing wet-dry-wet-dry conditions to record his second win of the year and the 11th of his career.
"It's a great moment, all round a major weekend. For some reason I like these conditions," said Button of the slippery track.
Red Bull's Sebastian Vettel was second despite an error-strewn race to increase his championship lead over teammate 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 Hamilton only for his teammate to drop back to fourth after choosing the wrong tyres and then serving a drive through penalty following a spin.
Back on the circuit where he claimed his first Formula One win in 2006, for Honda, Button revelled in the demanding circumstances.
The Briton has now won 11 grands prix in a career that started with Williams in 2000.
Hamilton, having started second, led for long periods after taking early control, but was caught out by a succession of strategic errors – when he chose the wrong tyres in rapidly-changing weather – and a harsh stewards' decision to give him a drive-through penalty after he forced Paul Di Resta off the track.
"The better man won today," said Hamilton.
"The team have done a fantastic job. It's a fantastic way to go into the (summer) break. We would have liked a one-two, I let the team down a little bit but we will be back."
Hamilton had spun in the sudden rain and then rejoined rapidly in front of oncoming traffic to earn his penalty.
For Vettel, although it was disappointing not to win again, his second place was enough for him to increase his lead in the drivers' title race as his nearest rivals finished behind him.
"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.
Webber finished fifth in the second Red Bull ahead of Brazilian Felipe Massa in the second Ferrari with impressive British rookie Di Resta seventh for Force India.
This meant that the young Scot, in his first season, was the leading Mercedes powered runner in the race as he came home ahead of Swiss Sebastien Buemi of Toro Rosso, German Nico Rosberg in the leading Mercedes car and Spaniard Jaime Alguersuari in the second Toro Rosso.
Seven-times champion German Michael Schumacher, of Mercedes, was forced to retire with gearbox problems.
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.
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.
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.
Red Bull have 383 points to McLaren's 280 in the constructors' standings.