Lewis Hamilton fended off Kimi Raikkonen to claim victory in the Hungarian Grand Prix and revitalise a title campaign that had begun to drift since McLaren's last win in Canada.
Hamilton led the majority of the race, but had a Lotus on his tail nearly all of the way.
Initially it was Romain Grosjean, who dismissed a strong challenge from Sebastian Vettel at the first corner, which allowed Jenson Button to then demote the Red Bull to fourth through Turns 2 and 3.
Button (McLaren) could not match Hamilton and Grosjean's early pace, so the McLaren and Lotus pulled away in a two-car lead fight.
Hamilton had it under control, although Grosjean did ramp up the pressure for a while in the middle stint of their two-stop strategies when he was on softs and the Briton had medium Pirellis.
When Button made an early second of three stops, Vettel was free to start catching the leaders too, but in the end it was Raikkonen who emerged almost from nowhere to become Hamilton's main challenger.
Raikkonen had been sixth in the opening stint, then passed Fernando Alonso's Ferrari in the first stops. His strong late-stint pace on a long run on softs in his next stint then allowed him to lead for a spell and vault from fifth to second, firmly resisting team-mate Grosjean as he emerged from his final stop.
Hamilton and Raikkonen were then tied together until the flag, but there was nothing the Lotus could do to pass the McLaren.
Grosjean held on to third ahead of Vettel, who made a third pitstop without losing a place and charged back to attack the Lotus on fresh softs, to no avail.
Alonso calmly protected his championship lead on a tough day for Ferrari, finishing fifth. For a while it looked like main title rival Mark Webber would trim a little from Alonso's cushion. The Australian jumped from 11th to seventh on lap one, then got ahead of Alonso at the second stops. But making a third tyre stop cost Webber and he fell to eighth.
Button's three-stop plan was also unsuccessful, as his second stop left him trapped behind Bruno Senna for a spell. He got back in front of the Brazilian in the final tyre changes then chased Alonso home in sixth.
Senna resisted Webber for seventh, delivering one of his best drives of the season on a day when his Williams team-mate Pastor Maldonado lost ground at the start then received a drive-through penalty for barging Paul di Resta's Force India aside in one of the race's few concerted passing attempts.
Felipe Massa was ninth - four places but just a few seconds behind team-mate Alonso. Nico Rosberg salvaged a point for Mercedes as his team-mate Michael Schumacher endured one of his most depressing races in Formula 1. The seven-time champion was left on the grid in an aborted initial start, joined the race from the pits, received a pitlane speeding penalty, then retired from 18th late on.
PROVISIONAL RACE RESULTS The Hungarian Grand Prix Hungaroring, Hungary; 70 laps; 306.630km; Weather: Sunny. Classified: Pos Driver Team Time 1. Hamilton McLaren-Mercedes 1h41:05.503 2. Raikkonen Lotus-Renault + 1.032 3. Grosjean Lotus-Renault + 10.518 4. Vettel Red Bull-Renault + 11.614 5. Alonso Ferrari + 26.653 6. Button McLaren-Mercedes + 30.243 7. Senna Williams-Renault + 33.899 8. Webber Red Bull-Renault + 34.458 9. Massa Ferrari + 38.350 10. Rosberg Mercedes + 51.234 11. Hulkenberg Force India-Mercedes + 57.283 12. Di Resta Force India-Mercedes + 1:02.887 13. Maldonado Williams-Renault + 1:03.606 14. Perez Sauber-Ferrari + 1:04.494 15. Ricciardo Toro Rosso-Ferrari + 1 lap 16. Vergne Toro Rosso-Ferrari + 1 lap 17. Kovalainen Caterham-Renault + 1 lap 18. Kobayashi Sauber-Ferrari + 2 laps 19. Petrov Caterham-Renault + 2 laps 20. Pic Marussia-Cosworth + 2 laps 21. Glock Marussia-Cosworth + 3 laps 22. De la Rosa HRT-Cosworth + 3 laps Fastest lap: Vettel, 1:24.136 Not classified/retirements: Driver Team On lap Karthikeyan HRT-Cosworth 63 Schumacher Mercedes 61 World Championship standings, round 11: Drivers: Constructors: 1. Alonso 164 1. Red Bull-Renault 246 2. Webber 124 2. McLaren-Mercedes 193 3. Vettel 122 3. Lotus-Renault 192 4. Hamilton 117 4. Ferrari 189 5. Raikkonen 116 5. Mercedes 106 6. Rosberg 77 6. Sauber-Ferrari 80 7. Grosjean 76 7. Williams-Renault 53 8. Button 76 8. Force India-Mercedes 46 9. Perez 47 9. Toro Rosso-Ferrari 6 10. Kobayashi 33 11. Maldonado 29 12. Schumacher 29 13. Di Resta 27 14. Massa 25 15. Senna 24 16. Hulkenberg 19 17. Vergne 4 18. Ricciardo 2 All timing unofficial