Max Verstappen strengthened his grip on the Formula One world championship as Charles Leclerc and Ferrari endured a nightmare Azerbaijan Grand Prix.
Leclerc had claimed his fourth successive pole position at the street circuit in Baku but was passed into the first corner by Monaco winner Sergio Perez.
Perez struggled to press home his advantage, though, and eventually ceded the lead to Verstappen on lap 15.
Leclerc had dived into the pits under the virtual safety car after his Ferrari team-mate Carlos Sainz retired due to a hydraulics issue and appeared to be well-placed to challenge Verstappen, only for an engine failure on lap 20 to hand victory to his Red Bull rival, who led a one-two ahead of Perez and Mercedes' George Russell.
Ferrari's dismal day began as Perez reacted quicker than Leclerc at the start to quickly render his pole immaterial and by lap nine they were down a car as Sainz was forced to end his race.
The Scuderia responded by gambling on pitting Leclerc for fresh tyres without the usual time loss and that decision appeared to be paying dividends, a potential battle with Verstappen looming after the Dutchman passed Perez on lap 15, the Mexican having emerged from a slow stop just in front of Russell.
Any prospect of that fight was removed when blue smoke puffed out of the back of Leclerc's Ferrari on lap 20, hugely damaging his title prospects.
Further blows to Ferrari came as the Alfa Romeo of Zhou Guanyu and Kevin Magnussen's Haas, both powered by their engines, suffered retirements.
Red Bull, by contrast, cruised home to a fifth successive win and a second one-two in three races. Russell took his third podium ahead of team-mate Lewis Hamilton, with Pierre Gasly of AlphaTauri rounding off the top five.