Reigning champion Hamilton finished first at the Hungaroring for the third straight season and eighth time in his career, matching Michael Schumacher's record for the most triumphs at the same grand prix.
The 35-year-old Briton converted his 90th pole into a second successive win this season, sending him above Mercedes team-mate Valtteri Bottas to the top of the drivers' standings.
Bottas was unable to make it a one-two, however, with Verstappen on the second step of the podium despite qualifying seventh and requiring a new front wing before lights out.
Hamilton got away well and was three seconds clear of Lance Stroll - who took fourth ahead of Alex Albon and Sebastian Vettel – after the first lap, with Bottas having fallen back through the field after a bungled start.
Despite sounding concerned about the status of his engine during the first half of the race, Hamilton negotiated his first major stint well and had a 20-second advantage after pitting for medium tyres as an anticipated downpour held off.
Verstappen was running in second at that point, the Dutchman producing a brilliant performance after coming so close to being unable to start.
He undercut Bottas by pitting for hard tyres at the end of lap 36 but the Finn made an additional stop as Verstappen stayed out.
Bottas got into DRS range on the main straight at the start of the final lap but was unable to get close to enough to make a pass, with Hamilton getting an additional point by setting the fastest lap after switching to softs with four laps remaining.