Lewis Hamilton completed a remarkable turnaround in McLaren's fortunes and claimed the first victory of his hitherto troubled championship defence in the Hungarian Grand Prix.
In a return to the pecking order seen prior to this year's massive rule changes, Ferrari took second place with Kimi Raikkonen - a poignant result with the Finn's team-mate Felipe Massa still in an induced coma in a Budapest hospital.
Mark Webber made further inroads into Jenson Button's championship lead, as the Australian took third on a day when Button could only manage two points for seventh. That result made Webber Red Bull's leading contender in the championship, for his team-mate Sebastian Vettel retired with suspension damage, a legacy of a startline brush with Raikkonen.
As expected, the KERS cars surged forward off the line, with Hamilton squeezing past Webber into second behind pole-sitter Fernando Alonso, and Raikkonen jinking past the slow-starting Vettel to take fourth, making contact on the way past. The incident, which eventually forced Vettel to retire after he had limped through his first stint, will be investigated by the stewards after the race.
Webber managed to slip back ahead of Hamilton on the exit of Turn 1 as the McLaren went slightly wide, but the world champion returned the favour four laps later, using his KERS boost to get alongside the Red Bull into the first corner, forcing Webber to cut tight, and then accelerating past into Turn 2.
Hamilton then set off after Alonso, who had made an early break despite fuel pump problems, but was making his first of three stops on lap 12.
That stop proved to be the end of his race, for as he rejoined it immediately became obvious that his right front wheel was loose. The wheel completely detached itself as he nursed the car back to the pits, and the consequent damage eventually forced him out.
While that left Hamilton clear to dominate the rest of the race from the front, Webber found himself behind Raikkonen after a very close call in the pitlane - the Red Bull pulling out right alongside the Ferrari and having to jink aside. Webber was then further delayed when the yet to stop Timo Glock got between them on the out-lap.
The top three then stretched out, with Raikkonen falling away from Hamilton in the second stint and Webber similarly unable to keep up with the Ferrari.
Hamilton proceeded to clinch his second Hungarian GP win - an incredible result given that his McLaren was being eliminated in Q1 as recently as Silverstone, and that he had not scored at all since Bahrain.
Webber closed on Raikkonen after the final stops, but to no avail, and in the process pulled away from Nico Rosberg's Williams, which had looked like it might threaten for the final podium finish at times. While Webber had been unable to capitalise on Button's lack of pace with a win, he at least narrowed the championship deficit to 18.5 points.
Heikki Kovalainen brought the second McLaren home fifth, having hassled Webber during a short middle stint, with Timo Glock's extremely late first stop allowing him to run as high as second and come through from 13th on the grid to sixth for Toyota.
Button never had the pace to get near the top five, with his radio transmissions suggesting he was baffled by his car's lack of performance.
He at least managed to get ahead of Jarno Trulli's Toyota for seventh at the final stops, the Italian having also gained ground earlier by running long, leaving Trulli to fend off Kazuki Nakajima (Williams) and Rubens Barrichello (Brawn), the latter having been shuffled a long way down the order at the first corner.
Jaime Alguersuari completed an uneventful first grand prix in 15th, beating his Toro Rosso team-mate Sebastien Buemi after the Swiss driver lost time with a mid-race spin at Turn 2.
PROVISIONAL RACE RESULTS The Hungarian Grand Prix The Hungaroring, Hungary; 70 laps; 306.663km; Weather: Sunny. Classified: Pos Driver Team Time 1. Hamilton McLaren-Mercedes (B) 1h38:23.876 2. Raikkonen Ferrari (B) + 11.529 3. Webber Red Bull-Renault (B) + 16.886 4. Rosberg Williams-Toyota (B) + 26.967 5. Kovalainen McLaren-Mercedes (B) + 34.392 6. Glock Toyota (B) + 35.237 7. Button Brawn-Mercedes (B) + 55.088 8. Trulli Toyota (B) + 1:08.172 9. Nakajima Williams-Toyota (B) + 1:08.774 10. Barrichello Brawn-Mercedes (B) + 1:09.256 11. Heidfeld BMW Sauber (B) + 1:10.612 12. Piquet Renault (B) + 1:11.512 13. Kubica BMW Sauber (B) + 1:14.046 14. Fisichella Force India-Mercedes (B) + 1 lap 15. Alguersuari Toro Rosso-Ferrari (B) + 1 lap 16. Buemi Toro Rosso-Ferrari (B) + 1 lap Fastest lap: Webber, 1:21.931 Not classified/retirements: Driver Team On lap Vettel Red Bull-Renault (B) 30 Alonso Renault (B) 16 Sutil Force India-Mercedes (B) 2 Massa Ferrari (B) DNS World Championship standings, round 10: Drivers: Constructors: 1. Button 70 1. Brawn-Mercedes 114 2. Webber 51.5 2. Red Bull-Renault 98.5 3. Vettel 47 3. Ferrari 40 4. Barrichello 44 4. Toyota 38.5 5. Rosberg 25.5 5. McLaren-Mercedes 28 6. Trulli 22.5 6. Williams-Toyota 25.5 7. Massa 22 7. Renault 13 8. Hamilton 19 8. BMW Sauber 8 9. Raikkonen 18 9. Toro Rosso-Ferrari 5 10. Glock 16 11. Alonso 13 12. Kovalainen 9 13. Heidfeld 6 14. Buemi 3 15. Bourdais 2 16. Kubica 2 All timing unofficial