Lewis Hamilton won his third Hungarian Grand Prix after fending off a spirited challenge from Kimi Raikkonen.
Romain Grosjean, who was beaten to second place by Raikkonen, joined his Lotus team-mate on the podium.
Sebastian Vettel attempted a three-stop strategy, but could only take fourth place, whilst Fernando Alonso extended his championship lead despite only finishing fifth.
Jenson Button had a disappointing race after starting fourth and finishing sixth, Bruno Senna finished in an excellent seventh place for Williams and Mark Webber, who started eleventh, finished eighth.
The race remained dry, despite the forecasts of rain before the race. The action was, however, held up for an extra couple of minutes when the first attempt to start the race was inexplicably aborted.
On the second start, which went as planned, Lewis Hamilton managed to get away ahead of the rest of the field. Sebastian Vettel looked to have got ahead of Romain Grosjean heading into the first corner, but he was not able unable to stay in front of the Lotus. Vettel then lost third place to Jenson Button going into Turn 3. Fernando Alonso got up into fifth by getting past Kimi Raikkonen.
Mark Webber was the biggest winner off the line, moving from eleventh to seventh in the opening corners. This biggest loser was Michael Schumacher, who reacted to the sight of red lights during the aborted start by promptly switching off the engine in his Mercedes, and remained sat on the grid whilst the rest of the field were sent around the Hungaroring for a second formation lap.
Schumacher was forced to start from the pit lane after his problem on the grid, and chose to pit at the end of the first lap for a set of medium tyres. However, he then came under investigation for speeding in the pit lane, and got a drive-through penalty. He eventually retired on Lap 60 after spending much of the race at the back of the field.
Back to the early stages of the race, though, and they mainly consisted of Hamilton and Grosjean trading fastest laps, with the gap between the two drivers pegged at just over two seconds. The two front-runners were slowly edging away from the rest of the field though, and by the end of Lap 15, Button was nearly 10 seconds behind his team-mate.
Button was the first of the front-runners to come into the pits, doing so at the end of Lap 15. He switched from the soft to the medium tyre, which looked like the better race tyre. The Brit emerged from the pits in tenth place, in clean air.
Sebastian Vettel and Fernando Alonso, who were now running third and fourth after Button's stop, made their first trip into the pits two laps later. Vettel fed back into the field just behind Button, whilst Alonso emerged behind Vettel and Sergio Perez, who was yet to stop.
Hamilton made his pit stop from the lead on the next lap. He came back out in fourth. Romain Grosjean pitted one lap later – the end of Lap 19, but came out behind Hamilton.
Raikkonen and Webber made their first stops at the end of Lap 20, returning the lead of the race to Hamilton. This left just Sergio Perez and various backmarkers yet to make a stop. Alonso was the main loser in the pit stops, with Kimi Raikkonen taking back fifth place.
The strategies of Hamilton and Grosjean diverged at that first round of pit stops. Both drivers started the race on the soft tyre, but Hamilton chose to switch to the medium tyre on his first stop, and Grosjean remained with the soft compound.
The short-term speed advantage of the soft tyre was demonstrated to good effect after those pit stops. The gap, which was over 2.5 seconds when Grosjean emerged from his stop, had dipped to less than a second a few laps later. Button, who had also taken on the medium tyres, was also coming under pressure from Sebastian Vettel who, like Grosjean, had also gone for another stint on the softer rubber.
Grosjean put in two scruffy laps (25 and 26), and the gap increased to 2.4 seconds again. This looked at first to be the effects of tyre wear, but then the Frenchman again started to pump in faster laps than Hamilton. At the end of Lap 30, the gap was back down to 1.1 seconds – one lap later he was back within DRS range.
Button, who was first to stop at the end of the first stint, was the first of the front-runners in again at the end of the second stint. He came in at the end of Lap 34 for a set of the soft tyres. Vettel, now in free air, set the fastest lap of the race. Raikkonen was also on the pace, and also threatening to get ahead of Button when the effects of the pit stops had worked through.
Vettel came in for his pit stop at the end of Lap 38. He took on the medium tyres for the first time of the afternoon. The German came out ahead of the Williams of Bruno Senna, who yet to make his second stop, and was holding up Button.
Grosjean pitted at the end of Lap 39, also for some medium tyres. Mark Webber pitted on the same lap.
McLaren and Lewis Hamilton had to respond to that stop from Grosjean, and did just that on the next lap. The gap was only 0.9 seconds before Grosjean pitted, but Hamilton came out of the pits comfortably ahead of his French rival for the lead.
Meanwhile, Raikkonen was out in the lead, having still not made his second stop. By the end of Lap 45, the Finn had a lead of about 14 seconds from Hamilton, and 18 seconds from Grosjean. That was when Raikkonen pitted.
Although Raikkonen had to give the lead back to Hamilton during the pit stop, he managed to come out of the pits just as Grosjean was passing the end of the pit lane.
The two Lotus cars almost touched as they went together into the first corner, but Raikkonen barged his way past Grosjean, and up into second place.
Button, who switched to a three-stop strategy mid-way through the race, made his final stop of the afternoon on Lap 46. He re-emerged in seventh place, behind Fernando Alonso, and with work to do on the track if he wanted to improve his finishing position.
At the end of Lap 50, 19 laps from the end of the grand prix, Hamilton led Raikkonen by 1.9 seconds. Grosjean was a further 2.5 seconds behind his team-mate, and Vettel was 2.1 seconds further back in fourth. Webber was fifth, and Alonso was sixth.
Meanwhile, Pastor Maldonado was given (another) penalty for causing a collision with Paul di Resta earlier in the race. This time though, it was a drive-through penalty, rather than a retrospective penalty applied after the race.
At Lap 52, the gap between Hamilton and Raikkonen had dropped below a second. Raikkonen had considerably newer tyres on his Lotus, and it was clear that Raikkonen did not have this race win in the bag yet…
Mark Webber, who like Button was three-stopping, made his third stop of the afternoon on Lap 56, and re-emerged in eighth place, behind Alonso, Button and Senna.
Sebastian Vettel also made a third pit stop; he waited until ten laps before the end of the race. Crucially, the world champion kept fourth place, after coming out of the pits just ahead of Alonso. With fresh tyres on his Red Bull, Vettel was now free to chase down the two Lotus drivers.
Raikkonen, having got the gap to Hamilton down to a second, kept it pegged at that value. The Finn appeared to be biding his time, waiting for those older tyres on the McLaren to deteriorate a little before making his move for the race lead.
However, the opportunity never came. Raikkonen could not get close enough to Hamilton to make a move for the lead, and Hamilton took his second victory of the season.