Max Verstappen climbed from tenth on the grid to win Sunday's F1 Hungarian Grand Prix, as Ferrari and Charles Leclerc lost yet more points to some questionable strategy.
Engine problems on Saturday condemned Verstappen to a midfield start, but the Dutchman swiftly made his way through the pack, aided by some slick pit work and clever strategy calls by his Red Bull team.
By the race's half-distance mark, though, Verstappen was still some way behind title rival Leclerc, who had taken the lead on Lap 31 of 70 and was looking good for the win.
However, the race began to go away from Leclerc when he was fitted with Hard compound tyres during his second pit stop on Lap 40, in contrast to the Medium tyres used by Verstappen and the rest of the leading contenders.
With the Hard tyres proving difficult to get into their ideal operating window in the cool conditions in Budapest, Leclerc was caught and passed by Verstappen on Lap 41.
Though Verstappen spun later that lap to gift the place back, the Dutchman recovered and overtook Leclerc again on Lap 45.
Some late drizzle made the track slippery in the final few laps, but Verstappen held on to take his eighth victory of 2022.
"I was at first hoping that I could get close to a podium. Very tricky conditions out there but we had a really good strategy," said Verstappen afterwards.
"We were really reactive and always pitting at the right time, I thought we had some good out laps, and at the end - even with the 360 - we won the race."
"It was a crazy race and I'm of course very happy that we won it."
Behind Verstappen came a charging Lewis Hamilton in second, who took the bonus point for Fastest Lap.
Third place went to Hamilton's Mercedes teammate George Russell, who had led the early stages from his pole position but faded with tyre issues in the second half of the race.
Carlos Sainz took fourth for Ferrari, ahead of Verstappen's teammate Sergio Perez, with Leclerc finishing only sixth after his ineffective switch to Hard tyres.
Lando Norris took seventh for McLaren, ahead of the Alpine duo of Fernando Alonso and Esteban Ocon, with Aston Martin's Sebastian Vettel rounding out the top ten.
Following the race, Verstappen extends his lead in the Drivers' Championship over Leclerc to 80 points, with 258 points to 178. Perez remains third on 173 points.
In the Constructors' Championship, Red Bull are in control with 431 points. Ferrari stay second with 334, with Mercedes closing in on 304 points.
F1 now takes a four-week summer break before resuming with the Belgian Grand Prix at Spa-Francorchamps on August 28.