Lewis Hamilton breathed new life into his Formula 1 title challenge as he held off the challenge of Kimi Raikkonen to win the Hungarian Grand Prix at the Hungaroring.
The McLaren driver led away from pole position and was able to manage the gap to Raikkonen's team-mate Romain Grosjean during the first two stints of the 69-lap race.
Raikkonen's stunning pace during the middle stint leapfrogged the Finn from fifth to second, but he could not prevent Hamilton taking a 19th career win, his third in Hungary, as Grosjean gave Lotus a double podium by coming home third.
Reigning world champion Sebastian Vettel narrowly failed to overhaul Grosjean after a late stop for fresh tyres and finished fourth.
Championship leader Fernando Alonso would have been a relieved man as Ferrari's lack of pace was not punished in the championship standings.
In fact the Spaniard increased his lead to 40 points as nearest challenger Mark Webber trailed home eighth, after the Australian's own late stop for tyres failed to work out.
Hamilton remains 47 points adrift of Alonso in fourth place despite his masterful drive to victory.
Sixth placed Jenson Button was another left frustrated by strategy as McLaren's decision to switch him from a two to a three-stop option saw him drop from third back to an eventual sixth, ahead of the Williams of Bruno Senna.
Felipe Massa and Nico Rosberg rounded out the top 10.