Kimi Raikkonen held off Fernando Alonso to take the first win of his Formula 1 comeback in an astonishing Abu Dhabi Grand Prix, as Sebastian Vettel made it through from last to third.
The result means Vettel's championship lead remains 10 points with two races to go, despite an incident-packed race for the Red Bull driver.
Raikkonen's victory is his first since he won the 2009 Belgian GP, the first for his Enstone-based team since the 2008 Japanese GP, and the first for a Lotus-branded squad since the 1987 United States GP.
Poleman Lewis Hamilton looked set to dominate for McLaren at first, escaping an early mistake that allowed Raikkonen to briefly get alongside him and then pulling away.
Pastor Maldonado held third, while Alonso muscled past the slow-starting Mark Webber for fourth with a bold outside line move at Turn 11 on the first lap.
The path seemed to be opening up quickly for Vettel, helped by first-lap carnage that saw the Force Indias tangle with Bruno Senna, and Nico Rosberg and Romain Grosjean collide.
The recovering Rosberg then caused the first safety car on lap nine when his Mercedes was violently launched over the back of Narain Karthikeyan's slowing HRT.
By that time Vettel was up to 13th, but during the caution period he ran off-track avoiding Daniel Ricciardo and smashed a marker board. This did terminal damage to a front wing already battered from contact with Senna, and Vettel had to pit.
Hamilton stayed ahead easily at the restart, only to drop out when his car ground to a halt with a mechanical problem on lap 19.
That left Raikkonen in charge, with Alonso the first of several drivers to pass a fading Maldonado before the pitstops. Webber's attempt to do likewise would see contact and a spin.
With Vettel having got a tyre change out of the way when replacing his front wing, he rose to second behind Raikkonen as others pitted. There was speculation among rivals that Vettel might try to keep his soft tyres alive until the end, but he pitted for fresh rubber and dropped to fourth behind Alonso and Jenson Button.
Another safety car then followed when a spectacular battle between Paul di Resta, Grosjean and Sergio Perez ended with contact between the latter pair and Grosjean's slowing car collecting the luckless Webber.
That closed Raikkonen, Alonso, Button and Vettel up for a 12-lap sprint to the finish.
Initially the pressure was on Alonso, but soon he was pulling clear of Button and mounting a late charge towards Raikkonen, as Vettel put huge pressure on the McLaren.
The champion eventually took third with four laps to go. Alonso was out of reach, though, the Ferrari finishing right on Raikkonen's tail.
Maldonado took fifth ahead of Kamui Kobayashi and Felipe Massa, who spun down the order while fighting with Webber.
Senna and di Resta recovered from their dramas to take eighth and ninth, with Ricciardo the final scorer.
PROVISIONAL RACE RESULTS
The Abu Dhabi Grand Prix
Yas Marina, Abu Dhabi;
55 laps; 305.355km;
Pos Driver Team Time
1. Raikkonen Lotus-Renault 1h45:58.667
2. Alonso Ferrari + 0.852
3. Vettel Red Bull-Renault + 4.163
4. Button McLaren-Mercedes + 7.787
5. Maldonado Williams-Renault + 13.007
6. Kobayashi Sauber-Ferrari + 20.076
7. Massa Ferrari + 22.896
8. Senna Williams-Renault + 23.542
9. Di Resta Force India-Mercedes + 24.160
10. Ricciardo Toro Rosso-Ferrari + 27.463
11. Schumacher Mercedes + 28.075
12. Vergne Toro Rosso-Ferrari + 34.906
13. Kovalainen Caterham-Renault + 47.764
14. Glock Marussia-Cosworth + 56.473
15. Perez Sauber-Ferrari + 56.768
16. Petrov Caterham-Renault + 1:04.595
17. De la Rosa HRT-Cosworth + 1:11.578
Fastest lap: Vettel, 1:43.964
Driver Team On lap
Pic Marussia-Cosworth 42
Grosjean Lotus-Renault 38
Webber Red Bull-Renault 38
Hamilton McLaren-Mercedes 20
Karthikeyan HRT-Cosworth 8
Rosberg Mercedes 8
Hulkenberg Force India-Mercedes 1
World Championship standings, round 18:
1. Vettel 255 1. Red Bull-Renault 422
2. Alonso 245 2. Ferrari 340
3. Raikkonen 198 3. McLaren-Mercedes 318
4. Webber 167 4. Lotus-Renault 288
5. Hamilton 165 5. Mercedes 136
6. Button 153 6. Sauber-Ferrari 124
7. Massa 95 7. Force India-Mercedes 95
8. Rosberg 93 8. Williams-Renault 73
9. Grosjean 90 9. Toro Rosso-Ferrari 22
10. Perez 66
11. Kobayashi 58
12. Hulkenberg 49
13. Di Resta 46
14. Maldonado 43
15. Schumacher 43
16. Senna 30
17. Vergne 12
18. Ricciardo 10
All timing unofficial