Leclerc was on track for a dominant victory after a late pit stop earnt him a massive tyre advantage over pole-getter Verstappen, and on lap 53 he swept into the lead and began building an advantage.
He was set to be followed by teammate Carlos Sainz to form what should have been a commanding Ferrari one-two, but on lap 57 of 71 the Spaniard’s engine spectacularly exploded just as he launched a move on Verstappen to assume second place.
Sainz rolled into the uphill run-off zone at turn 4, but flames engulfed the back of the car before he could park it safely, and the SF-75 started rolling down the hill as he tried to jump from the cockpit.
Fortunately marshals were able to chock and wreckage and extinguish the fire in quick time, and Sainz was able to extricate himself unharmed.
A virtual safety car was called, and both Leclerc and Verstappen pitted for medium tyres for what became an 11-lap dash to the finish once the race resumed, and without the need to preserve the rubber, the Red Bull Racing machine was able to start eating into the Ferrari’s lead.
Making matters more difficult was a sticky throttle pedal in Leclerc’s car, which was leaving his throttle open as wide as 20% when he came off the pedal, compromising his downshifts and curtailing his pace.
Despite some tense conversations with his engineer, the Monegasque was able to manage the situation to preserve a 1.5-second advantage at the flag and secure a badly needed victory.
“I definitely needed that one,” he said. “The last five races have been incredibly difficult for myself and also for my team.
“To finally show we’ve got the pace in the car and we can do it is incredible.”
Leclerc’s points deficit has shrunk to 38 points, down from 43, thanks to Verstappen scoring a bonus point for fastest lap in the final pursuit.
The Dutchman had started from pole and held the lead on the first lap, but Red Bull Racing switched him to a two-stop strategy early, foreseeing the high tyre wear that ultimately cost him victory.
Ferrari initially tried to stick with a single stop, but such was its advantage regardless of strategy that it was able to switch Leclerc and Sainz to a two-stop late and still have the pace to win comfortably.
“It was a tricky day,” Verstappen said. “It seemed like we were struggling quite a bit with the tyres, and that continues on every single compound.
“I had too much degradation to attack Charles especially. Nevertheless, second place is a good result for us on a difficult day.”
With Sainz retired from the race, Lewis Hamilton slipped into third for Mercedes, up from eighth on the grid thanks to a long opening stint on medium tyres, recovering from his qualifying crash and difficult sprint race on Saturday.
“I definitely wasn’t expecting that, but of course yesterday was a difficult day and it’s been a really tough weekend,” he said.
Teammate George Russell recovered from a five-second penalty for crashing with Sergio Perez on the first lap to finish fourth; Perez retired from the race with terminal damage.
Esteban Ocon scored strong points for Alpine with fifth, putting the team equal on points for fourth in the constructors standings.
Mick Schumacher won in a tight battle between the Haas and McLaren drivers, pipping Lando Norris, who in turn beat Kevin Magnussen and Daniel Ricciardo, who scored his first points since the Azerbaijan Grand Prix in ninth.
Fernando Alonso was on track for more points before feeling vibrations in his tyres late in the race, forcing an unplanned pit stop that dropped him to 10th for the final point of the race.
Valtteri Bottas finished just out of the points ahead of Thai driver Alex Albon, Lance Stroll and Zhou Guanyu. Pierre Gasly was penalised for tangling with Sebastian Vettel, the pair finishing 15th and 17th, sandwiching Yuki Tsunoda.