Sebastian Vettel profited from a hugely tactical Singapore Grand Prix as Ferrari's pit strategy saw him beat team-mate Charles Leclerc for a first victory in over a year.
The four-time Formula One world champion has endured a miserable time since winning at Belgium in August 2018, while Leclerc had claimed back-to-back triumphs heading to Singapore, where a surprising pole followed.
Leclerc appeared set for a hat-trick, too, until Vettel was allowed to undercut him as the 21-year-old came out of the pit lane at the Marina Bay Street Circuit.
Mercedes took a big risk with their own tactics, leaving Lewis Hamilton out longer in a bid to build a lead over Vettel, Leclerc and Max Verstappen before pitting, though the plan did not pay off.
Vettel held position ahead of Leclerc after three safety cars ate up crucial laps, while Hamilton could not get past Verstappen to miss out on a place on the podium.
Leclerc had been comfortably fastest to the first corner, briefly leaving Hamilton to defend against Vettel until the Mercedes kicked clear at Turn 9.
The Monegasque driver was then happy to maintain no more than a steady pace to leave the race bunched up, with eight seconds covering the top seven as Hamilton moved within DRS range.
With no sign of movement, Ferrari and Red Bull moved first to pit Vettel and Verstappen respectively after 20 laps, with Leclerc following soon after but unable to get back out in front of his colleague.
Valtteri Bottas soon went in, but Mercedes continued to leave Hamilton out, apparently trusting Lance Stroll, in fifth, and his midfield rivals running behind the Mercedes leader to hold up Vettel and company.
Hamilton finally headed in and was allowed out ahead of Bottas, before turning to the team radio for advice as Vettel and Leclerc started to pick off the cars in front.
Antonio Giovinazzi improbably led for a stretch, but Vettel ran Pierre Gasly wide in a tyre-to-tyre tussle before moving to the front, with Leclerc following.
Proceedings at the back of the grid sparked more intrigue as George Russell was tagged by Romain Grosjean to bring out a safety car, before another followed, although each of the leading cars stayed out.
Kimi Raikkonen, Vettel's former team-mate, retired after a clash with Daniil Kvyat to prompt yet another safety car, setting up a 10-lap shoot-out.
But Leclerc had no response, having been discouraged by team officials from pushing too hard, and Verstappen held off Hamilton in an improbably underwhelming finale.
LECLERC LETS LOOSE
Feeling that Ferrari had cost him victory, Leclerc took the opportunity to express his feelings over the team radio as the safety car came out.
"To be honest with you, I don't understand at all the undercut," he first fumed. "But whatever. We'll discuss it after the race."
Reminded of the importance of bringing the car home for a one-two, Leclerc later added: "I won't do anything stupid, but it's not fair."
Hamilton is set to wrap up the drivers' championship in the coming weeks, but a third consecutive race without victory represents Mercedes' worst run of the hybrid era.
It is a far cry from the start of the season, where they began with five one-twos and recorded eight straight wins.
Meanwhile, Ferrari have enjoyed three victories in a row for the first time since 2008, with the Scuderia suddenly a threat again.
IN THE POINTS
1. Sebastian Vettel (Ferrari)
2. Charles Leclerc (Ferrari) +2.641 seconds
3. Max Verstappen (Red Bull) +3.821secs
4. Lewis Hamilton (Mercedes) +4.608secs
5. Valtteri Bottas (Mercedes) +6.119secs
6. Alexander Albon (Red Bull) +11.663secs
7. Lando Norris (McLaren) +14.769secs
8. Pierre Gasly (Toro Rosso) +15.547secs
9. Nico Hulkenberg (Renault) +16.718secs
10. Antonio Giovinazzi (Alfa Romeo) +17.855secs
1. Lewis Hamilton (Mercedes) 296
2. Valtteri Bottas (Mercedes) 231 (-65)
3. Charles Leclerc (Ferrari) 200 (-96)
4. Max Verstappen (Red Bull) 200 (-96)
5. Sebastian Vettel (Ferrari) 194 (-102)
1. Mercedes 527
2. Ferrari 394 (-133)
3. Red Bull 289 (-238)
4. McLaren 89 (-438)
5. Renault 67 (-460)
The teams are straight back at it for the Russian Grand Prix in Sochi next week, where Ferrari will look to keep their superb streak going.