The defending champion overcame his qualifying power loss and a spin thanks to expert tyre management to complete his accession from 10th to victory to extend his points lead.
Meanwhile, early leader Charles Leclerc was the only frontrunner to make three stops to be passed on track twice by Verstappen and ultimately fall to sixth place.
Russell was put on a set of used softs to launch on a dry track, the spots of rain that had been landing in the build-up to the race failing to develop into a full-blown shower initially.
Thanks to the grippier rubber, the Mercedes launched strongly to pull across and eventually cover off the medium-Pirelli shod Ferrari threat into Turn 1 and duly consolidated first place.
Sainz had tried to bully it around the outside of the right-hander before the W13 cut back at the apex, with the Scuderia then keeping in formation with Leclerc slotting into third place.
Hamilton, meanwhile, nailed his getaway to pounce past both Alpines for fifth behind soft-shod Lando Norris, as Verstappen propelled his RB18 around the outside of Valtteri Bottas and Daniel Ricciardo to rapidly hit eighth place after his qualifying power loss late in Q3.
Russell crossed the line at the end of the opening lap with 1.6s in hand over Sainz.
It took until lap 14 for the red-walled C4 Pirellis to show the first signs of degrading for the W13 as Sainz tore a 0.6s chunk out of Russell, the lead Ferrari having shown enough pace to prevent the pitwall from swapping the order under pressure to intervene by Leclerc.
With the red cars nose-to-tail, it looked as though they would be split when Sainz was told to box at the end of lap 16 but he stayed out as Russell then came in for his first stop.
The polesitter was slowly swapped onto a set of mediums after a front-right delay to emerge side by side with Fernando Alonso, cutting back through Turns 2 and 3 to seal sixth.
One tour later Ferrari responded. Sainz was called in to release Leclerc, but the Spaniard too was delayed in a 3.7s medium change to crucially come out behind Alonso’s Alpine machine.
That left Leclerc to lead by 11s over Hamilton before the Mercedes was called in on lap 20.
Russell was therefore released into second place but with a 19s gap to the leading Leclerc.
As the lap counter hit the high teens, Leclerc’s pace was declining. He was subsequently stopped at the end of lap 21 for a set of mediums in 2.9s to promote Russell into the lead.
The maiden polesitter had 2.6s in hand over his Monegasque chaser as Sainz sat a further 1s in arrears while champion Verstappen occupied fourth place another 3.5s further adrift.
With the Ferrari well suited to the tight Hungaroring all weekend, Leclerc soon gained the DRS overtaking aid to bring the gap down and weld himself to the Mercedes gearbox.
Russell was forced to defend, squeezing the F1-75 to the outside line wherever possible to maximise the distance Leclerc had to travel at the difficult-to-pass Budapest venue.
Then on lap 31, Leclerc made it stick. Russell moved to the inside line into Turn 1 early to cover off the Ferrari but with DRS it tightly squeezed by into the braking zone for first.
Leclerc immediately pulled seven tenths on the Mercedes and doubled that gap over the rest of the lap, the advantage climbing to 2.8s with Russell in third and Verstappen fourth.
Verstappen made a crucial stop on lap 39 for mediums and despite sparks flying from the right-rear corner, he was serviced in a rapid 2.4s – encouraged with the radio message that “there’s still a long way to go”.
Verstappen came out in sixth as Russell made a second stop for mediums next time around, Leclerc then visiting the garage for an ill-fated set of the hardest-available C2 Pirelli tyre.
The Red Bulls having jumped Russell, the Ferrari returned in third behind Hamilton and Sainz on the slowest compound and struggled to generate temperature to leave him vulnerable.
Verstappen had DRS on Leclerc into Turn 1 to depose the Ferrari, the Dutch ace shrewdly opening his steering a fraction at the apex to force Leclerc to compromise his line further.
Getting back on the power, the Ferrari stepped out of line to let Verstappen romp away.
But Leclerc was given a second chance, despite blasting the state of the tyres. Verstappen tried to pick the power out of the penultimate Turn 13 but spun the rears and rotated.
He caught the Red Bull in 360 degrees but not before the Ferrari had streaked back past, even if Perez limited the damage by blocking Russell and staying behind his team-mate.
But come lap 43, Verstappen was back within a second of chief championship rival Leclerc and he cut his RB18 back through Turn 2 to retake the position down the hill into Turn 3.
Ferrari called Sainz in three laps later to relinquish the lead and a fumbled rear-left change onto softs meant he was held for a slow 4.6s to give Hamilton a 6.4s margin to Verstappen.
Hamilton finally made his second stop on the end of lap 51 for a switch to softs and came out in fifth, 10s down on Sainz as Russell usurped Leclerc – still struggling on the hard tyres.
The Ferrari broke loose through the final corner to give Russell an easy run for second over the line as Ferrari eventually aborted its strategy and was forced into an additional stop.
The soft tyres were bolted on but having led, he returned over 30s behind Verstappen.
With Verstappen managing the mediums to the flag, including a late VSC for Bottas stopping with power loss aboard his Alfa Romeo at Turn 12, he streaked to an unlikely victory by 7.8s.
The Mercedes were the next fastest cars in the final phase of the race, with soft-shod Hamilton able to depose Sainz on older tyres and then team-mate Russell for second place.
Despite complaining his tyres had dropped off, Russell too had the legs on Sainz to nail consecutive 2-3 finishes for Mercedes as Perez inflicted more pain on Ferrari in fifth place.
Leclerc’s extra pitstop consigned him to sixth ahead of Norris, who switched to hard tyres to keep ahead of the one-stopping Alpines of Alonso and Esteban Ocon.
Vettel recovered from the Albon clash to score the final point in the updated Aston Martin ahead of team-mate Lance Stroll, the Canadian having been turned around after contact with Ricciardo – the McLaren driver copping a 5s penalty.
Pierre Gasly crossed the line in 12th from a pitlane start after exceeding the engine allocation limit with a Saturday night power unit change.
Zhou Guanyu led Mick Schumacher and the reprimanded Ricciardo, while Kevin Magnussen was left on a hiding to nothing in the sole upgraded Haas after an early switch to hards before stopping twice more.
Yuki Tsunoda completed the finishers after spinning from 17th to the back through the Turn 6-7 chicane, as Bottas was the sole driver to retire in the final race ahead of the summer break.