Hamilton completed the Formula One race in 1 hour, 41 minutes, 5.503 seconds — more than a second ahead of Lotus driver Kimi Raikkonen. Romain Grosjean, also of Lotus, was third. It was McLaren's sixth win here in eight years.
"Really fantastic," Hamilton said over the team radio after crossing the finish line. "Let's try to keep this up."
Rounding out the top 10 were defending champion Sebastian Vettel of Red Bull, overall leader Fernando Alonso of Ferrari, McLaren's Jenson Button, Bruno Senna of Williams, Mark Webber of Red Bull, Ferrari's Felipe Massa and Nico Rosberg of Mercedes.
It was Hamilton's third win in Hungary and second of the season. His victory from pole position again demonstrated the advantage of starting first on a track that has few opportunities for passing.
"If we can continue with this kind of performance than we can slowly catch (Alonso)," Hamilton said. "But we know we need consistency and we need to improve the car still in many areas."
The British driver led for all but eight laps of the race — briefly falling back after two tire changes — despite strong challenges from the Lotus pair.
Grosjean was often less than 2 seconds behind Hamilton until he was passed by Raikkonen as the Finn came out of the pit lane after his final tire change on lap 45.
Raikkonen kept the pressure on Hamilton until the end.
"They are absolutely rapid, these guys," Hamilton said about the two Lotus drivers. "If we were on another track where overtaking was much easier, I think perhaps the result would have been different."
For Grosjean, who returned to F1 this season after seven races with Renault in 2009, it was the third podium finish of the year.
"We were really close to fighting for the win," the Swiss-born Frenchman said. "It's a good result for the team, but to be honest I'm a bit disappointed."
Grosjean was diplomatic about Raikkonen's manoeuvr at Turn 1, when the 2007 world champion practically pushed him off the track to take over second place.
"He did what he had to do to not let me pass," said Grosjean, who sounded confident he would have caught Hamilton. "I went a little bit on the outside and got the marbles on the tires, and then I struggled to recover. It is what it is."
Alonso has 164 points, followed by Webber with 124 and Vettel with 122. Hamilton is fourth with 117, ahead of Raikkonen with 116.
Alonso was able to accomplish his main goal other than victory — to keep the Red Bulls firmly behind him. The Spaniard extended his lead over Webber by six points and lost only two points to Vettel.
"It's a positive result, no doubt about it," said Alonso, who turned 31 on Sunday. "We have a lead of 40 points courtesy of a car that has not been the best in this first half of the season. Now we must try to make a good leap forward in terms of performance to allow us to keep the lead."
"In the long term, what we have now will not be enough," the 2005 and 2006 champion said.
The race was cut to 69 laps from 70, after an extra positioning lap was added when Michael Schumacher switched off the engine on the starting grid, worried about the overheating of his Mercedes.
It was a dreadful race for the seven-time world champion, who was given a drive-through penalty for speeding on pit lane and retired after 58 laps while in 18th place.
"After I had started from the pit lane, I picked up a penalty and then a puncture. Everything you do not need came together," said Schumacher, whose best result so far in 2012 has been third in Valencia but who has failed to finish six of the 11 races. "I am sure we will be looking much better in the next races to come."
The Hungaroring race was the last event before a monthlong break, resuming with the Belgian GP on Sept. 2.