Mercedes Formula One driver Lewis Hamilton of Britain drives during the Hungarian F1 Grand Prix at the Hungaroring circuit in Mogyorod, near Budapest. (Reuters Photo)
The 28-year-old Briton led from pole position to the chequered flag, apart from three short
It was the 22nd win of his career and a success that restored him among the challengers for this year's drivers' championship.
Hamilton came home 11 seconds clear of Finn Kimi Raikkonen of Lotus and third-placed defending triple world champion German Sebastian Vettel of Red Bull, who was unable to force his way into second place in the closing laps.
Australian Mark Webber finished fourth in the second Red Bull ahead of two-time champion Spaniard Fernando Alonso of Ferrari and sixth-placed Frenchman Romain Grosjean of Lotus, who endured a familiar race of incidents and penalties.
Briton Jenson Button came home seventh for McLaren ahead of Brazilian Felipe Massa in the second Ferrari and Mexican Sergio Perez in the second McLaren.
Venezuelan Pastor Maldonado delivered the Williams' team's first point of the season by finishing 10th.
Hamilton's pole was his third in successive races but the previous two had seen him unable to exploit the advantage - a spectacular tyre failure at Silverstone wrecking his hopes while leading the British Grand Prix.
But this time, in Mercedes' 350th race as engine suppliers in Formula One, he enjoyed some of the luck that had been missing elsewhere to mark his 120th Grand Prix with a well-taken win.