Red Bull's Max Verstappen drove an outstanding race to win the Hungarian Grand Prix from 10th on the grid despite a spin costing the lead.
Verstappen passed title rival Charles Leclerc twice, raising fresh questions about Ferrari's race operations.
Red Bull's pit strategy also vaulted Verstappen ahead of pole-sitter George Russell, who lost out on second place to team-mate Lewis Hamilton.
Carlos Sainz was fourth and Leclerc sixth as Ferrari's season imploded.
The result left Verstappen with an 80-point lead over Leclerc with nine races remaining, an advantage that looks unassailable given Red Bull's steadiness and Ferrari's flakiness.
A race gripping from start to finish, featuring divergent strategies, and the constant threat of rain on a grey, windy and cool day, provided a perfect symbol of the season so far.
Verstappen was imperious in moving through the field from his lowly grid position, caused by engine problems, Red Bull solid and aggressive on their strategy, and Ferrari uncertain as they converted second and third on the grid to having neither driver on the podium at the finish.
How did Hamilton take second?
Unlike Russell and Verstappen, who were both on softs, Hamilton ran medium tyres at the start, and ran a long middle stint, stopping 13 laps after the Dutchman and fitting soft tyres for a relatively short final stint.
It worked a treat. He rejoined in fifth place and soon began to reel in those in front. Leclerc pitted out of the way, abandoning the hard tyres Ferrari had fitted at his second stop, passing Sainz on lap 61 and then closing in on Russell, who was struggling with worn tyres, and passing him with five laps to go.
The weekend began with the announcement Sebastian Vettel will leave F1 at the end of the seasonWhat are Ferrari doing?
Ferrari went into the race with an apparently open goal to make up ground on Verstappen but their day fell apart with an apparent series of strategy errors.
In the opening laps, Leclerc appeared quicker than Sainz, who was unable to pass Russell in the lead.
Sainz made his first pit stop a lap after after Russell but came out still behind him.
The team ran Leclerc for a further five laps to give him a tyre advantage over Russell in the lead and it worked perfectly. He closed in after his pit stop. They battled for five laps but eventually Leclerc passed the Mercedes around the outside of Turn One on lap 31.
That appeared to be the race won but Ferrari chose the hard tyres at his second pit stop.
He lacked grip when he rejoined in third place behind Sainz and Hamilton, and was soon passed by Verstappen.
His hard tyres never gave any grip but rather than try to hang on, he pitted for softs with 17 laps to go. Still he made no progress and ended up sixth, behind Red Bull's Sergio Perez.
Sainz ran a long middle stint like Hamilton and was ahead of the Mercedes until his stop on lap 47.
And when Hamilton made his stop four laps later, he caught and passed the Ferrari within 10 laps, relegating Sainz off the podium on a troubled day for Maranello.
McLaren's Lando Norris drove a solid race to seventh, beating the Alpines of Fernando Alonso and Esteban Ocon, who did a one-stop strategy using the hard tyre for their second stint.
Sebastian Vettel took the final point for Aston Martin on the weekend he announced he will retire at the end of the year.