Lewis Hamilton's title hopes were dealt a heavy blow when his engine failed as he led the Malaysian Grand Prix.
The Briton dominated the race until flames started pouring from his Mercedes on lap 43, prompting him to say on the radio: "Oh, no, no."
His team-mate Nico Rosberg finished third to extend his lead in the championship to 23 points with five races to go, and 125 points available.
Daniel Ricciardo beat Max Verstappen in a Red Bull one-two in a gripping race.
After the race, Hamilton told BBC Radio 5 live's Tom Clarkson: "My question is to Mercedes. We have so many engines made, but mine are the only ones failing this year.
"Someone needs to give me some answers because this is not acceptable. We are fighting for the championship and only my engines are failing. It does not sit right with me."
What happened this time?
Hamilton was cruising to victory on an unexpected one-stop strategy when his engine, and perhaps his title hopes, literally went up in smoke.
He had converted pole into a lead at the first corner, and the day seemed to be going his way when Rosberg was hit by Ferrari's Sebastian Vettel as a move to try to pass Verstappen down the inside went wrong.
Vettel was given a three-place grid penalty for next weekend's Japanese Grand Prix after he was adjudged to have caused the crash.
Rosberg rejoined at the back and set about climbing back through the field as Hamilton appeared to be set fair to reclaim the championship lead.
An early virtual safety car when Romain Grosjean's Haas suffered apparent brake failure tempted Red Bull to bring Verstappen in early for fresh 'soft' tyres.
That made him de facto leader for a while, a position he assumed on track when Hamilton made his first pit stop on lap 20.
But he stopped again seven laps later and, from then on, Hamilton appeared in total control, only for his car to suffer an internal combustion engine failure.
Team boss Toto Wolff held his head in his hands in the pits as Hamilton walked disconsolately away from his smouldering car. Mercedes said there had been no warning of the problem.
- Read more: Only my engines are failing - Hamilton
- Read more: Ricciardo dedicates win to Bianchi
- Listen: Hamilton's race ends in flames
How did Red Bull end up winning it?
Verstappen had been on Ricciardo's tail and asking his team to "do something", and the Australian had already fended off an attack by his team-mate as they ran side by side from Turns Four to Eight.
But when Hamilton's engine failed, that triggered a virtual safety car and the team to bring in both cars for fresh tyres.
That meant Ricciardo went into the last 13 laps of the the race with a 2.3-second lead.
Ricciardo was on new tyres, while Verstappen's were three laps old and that may have given the Australian the edge he needed to hold off his team-mate, who appeared to have a slight pace advantage this weekend.
Red Bull team boss Christian Horner said there had been no team orders: "It made total sense, after Lewis had blown up, there was a free stop for both of them - give them both fresh tyres and then flat-out to the finish.
"They have great respect for each other. They are young, they were racing hard and it was right to let them race today."
"I'm exhausted," Ricciardo said. "It is such a hot race here. It was a race of challenges. Obviously Lewis got the lead and had his problem.
"I am not one for believing in a whole lot, but it went the other way in Monaco so I'll take this, no hard feelings to Lewis. It has been pretty emotional two years since the last win and we have come so close this year, two weeks ago I said we'd win one and here we go."
Rosberg shows his teeth - and it pays off
Rosberg drove well to get back up to fourth place, and then snatched third from Kimi Raikkonen's Ferrari in a late move at Turn Two on lap 38.
The two cars collided, and stewards decided Rosberg should be penalised with a 10-second time penalty. But he managed to extend his lead sufficiently to ensure he took the final podium place.
Williams' Valtteri Bottas took fifth, ahead of Force India's Sergio Perez and an excellent drive from Fernando Alonso in his McLaren after starting from the back of the grid - including making up 10 places on the first lap.
Alonso's team-mate Jenson Button took ninth in his 300th grand prix, a little unfortunate on strategy with the way the pit stops and late virtual safety car for Hamilton's retirement played out.
Had it not happened, Button's long middle stint on hard tyres - much longer than Alonso could manage - might have meant he finished ahead of the Spaniard.
And Renault's Jolyon Palmer scored his first F1 point with a resolute drive to 10th place from 19th on the grid.
What they said - and did - on the podium
For Ricciardo, victory was no less than he deserved.
"I'm exhausted," Ricciardo said. "It is such a hot race. It was a race of challenges. Obviously Lewis got the lead and had his problem.
"I am not one for believing in a whole lot, but it went the other way in Monaco so I'll take this, no hard feelings to Lewis. It has been pretty emotional two years since the last win and we have come so close this year. Two weeks ago I said we'd win one and here we go."
Rosberg said: "Turn One, I thought it was all over, so I'm really happy to be able to fight back to the podium."