Verstappen wins Hungarian Grand Prix from 10th place start
Seven-times world champion Lewis Hamilton (37) finished second for Mercedes with team mate George Russell (24), on pole position for the first time, third in a repeat of the previous race in France.
Reigning champion Verstappen now has a massive 80-point lead -- more than three race wins -- over Leclerc after 13 of 22 races.
The Ferrari driver led for a while but ended up sixth as his tyre strategy unravelled.
All the stats and results from the Hungarian Grand Prix on Flashscore
"Amazing result. Who would have thought when we woke up that we were going to win the race," Verstappen said over the team radio after taking the chequered flag in tricky conditions at the Hungaroring.
"That is right up there with your best," said team boss Christian Horner.
"Unbelievable. Best way to go into the summer break and it doesn't feel anything like summer today, I tell you," he added, with raindrops falling as the race ended.
The win was Verstappen's eighth of the season and 28th of his career. He now has 258 points to Leclerc's 178.
Hamilton, winner a record eight times in Hungary but starting from seventh, felt he might have won had his drag reduction system (DRS) not failed in Saturday's qualifying.
"We would have had the pace to win if we hadn't had that DRS issue," the Briton told his team over the radio after taking the chequered flag and banking an extra point for fastest lap.
Three stops
Hamilton had bolted on a set of softs for the last 18 laps and passed Ferrari's Carlos Sainz and Russell before setting off in pursuit of Verstappen, who was ultimately too far down the road.
Leclerc was left wondering, not for the first time this season, what might have been had Ferrari put him on a different strategy.
While the Italian team licked more self-inflicted wounds, others saw only blunders.
The Monegasque made three pitstops, one more than others, after starting on medium tyres, continuing on another set for his second stint and then going to the hards -- losing performance and places -- before finally switching to softs.
The Ferrari driver had swept past Russell to take the lead on lap 31 and pull away, with every indication it would be his day.
Instead he leaves Budapest with his title hopes hanging from the most slender of threads and Mercedes closing in on Ferrari in the constructors' standings.
Red Bull have 431, Ferrari 334 and Mercedes 304.
Sainz finished fourth with Sergio Perez fifth for Red Bull. Lando Norris took seventh for McLaren with Alpine's Fernando Alonso and Esteban Ocon eighth and ninth.
Four-times world champion Sebastian Vettel, who announced on Thursday his retirement at the end of the season, took the final point for Aston Martin after another close battle with team mate Lance Stroll in 11th.