Sebastian Vettel delivered his first victory of the 2012 Formula 1 season in the Bahrain Grand Prix, and moved into the championship lead in the process - but only after resisting a stern challenge from the Lotus of Kimi Raikkonen.
On a day when Lotus delivered everything it had promised in the opening races, Raikkonen and team-mate Romain Grosjean hacked through the field to complete the podium behind the winning Red Bull.
Mark Webber took fourth in the second Red Bull, while pitstop problems consigned front row starter and erstwhile championship leader Lewis Hamilton's McLaren to eighth. Nico Rosberg completed the top five after an eventful race for Mercedes.
It soon became clear that the Lotus duo had stunning race pace. Although Vettel stormed away from initial pursuers Hamilton and Webber, Grosjean and Raikkonen were making rapid progress up the order.
Grosjean had moved into fourth at the start, then picked off Webber and Hamilton on laps four and seven, while Raikkonen vaulted from 11th to seventh off the line, had a quick wheel-banging battle with Felipe Massa's Ferrari, then got up to third by the time the first stops were done - by virtue of a string of passes and a long first stint.
Raikkonen then closed on Grosjean, overtook his team-mate on lap 24, just before their second stops, and started hunting down Vettel.
As they approached the final tyre changes, Raikkonen was on Vettel's tail and able to take several looks at passing the Red Bull.
The tension eased after the final stops, though, with Vettel able to rebuild a slight lead and keep the Lotus under control, despite the occasional flurry of fast times from Raikkonen, who remained a secure distance ahead of Grosjean.
Webber had a strangely lonely afternoon in fourth place, but there was plenty of action behind.
Rosberg slipped back to ninth on a scrappy first lap, before recovering to fifth - although he attracted the stewards' attraction along the way after some vigorous defensive moves against Hamilton and Fernando Alonso (Ferrari). The incidents will be investigated after the race. Rosberg slowed as he crossed the line, but made it home for fifth.
The Mercedes' final pass had been on Paul di Resta's Force India with just five laps to go. Di Resta did a masterful job on a unique two-stop strategy, allowing him to lead a grand prix for the first time and take sixth place.
Hamilton's afternoon went awry in the pits, as a wheelnut issue with his left rear cost him a lot of time at both his first and second stops. The Briton had to settle for chasing di Resta and Alonso home in eighth place.
It was a miserable race for McLaren overall. Jenson Button spent the afternoon on the fringes of the top six before a late pitstop with a puncture, and then a mechanical problem that left his sick-sounding car heading for the garage on the penultimate lap.
Alonso had got up to fifth with an assertive start, but did not have the pace to stay there. Massa was respectably close to his team-mate's pace on the way to ninth, while Michael Schumacher was able to come through from 22nd on the grid to 10th in the second Mercedes.
Two stars of qualifying saw their race hopes rapidly dashed. Daniel Ricciardo tumbled down the order on lap one and sustained nose damage, after which he could only get the Toro Rosso back up to 15th. Caterham's Heikki Kovalainen picked up a puncture on lap one.
PROVISIONAL RACE RESULTS
The Bahrain Grand Prix
57 laps; 308.405km;
Pos Driver Team Time
1. Vettel Red Bull-Renault 1h35:10.990
2. Raikkonen Lotus-Renault + 3.300
3. Grosjean Lotus-Renault + 10.100
4. Webber Red Bull-Renault + 38.700
5. Rosberg Mercedes + 55.400
6. Di Resta Force India-Mercedes + 57.500
7. Alonso Ferrari + 57.800
8. Hamilton McLaren-Mercedes + 58.900
9. Massa Ferrari + 1:04.900
10. Schumacher Mercedes + 1:11.400
11. Perez Sauber-Ferrari + 1:12.700
12. Hulkenberg Force India-Mercedes + 1:16.500
13. Vergne Toro Rosso-Ferrari + 1:30.300
14. Kobayashi Sauber-Ferrari + 1:33.700
15. Ricciardo Toro Rosso-Ferrari + 1 lap
16. Petrov Caterham-Renault + 1 lap
17. Kovalainen Caterham-Renault + 1 lap
18. Button McLaren-Mercedes + 1 lap
19. Glock Marussia-Cosworth + 2 laps
20. De la Rosa HRT-Cosworth + 2 laps
21. Karthikeyan HRT-Cosworth + 2 laps
22. Senna Williams-Renault + 3 laps
Fastest lap: Vettel, 1:36.379
Driver Team On lap
Maldonado Williams-Renault 26
Pic Marussia-Cosworth 25
World Championship standings, round 4:
1. Vettel 53 1. Red Bull-Renault 101
2. Hamilton 49 2. McLaren-Mercedes 92
3. Webber 48 3. Lotus-Renault 57
4. Button 43 4. Ferrari 45
5. Alonso 43 5. Mercedes 37
6. Rosberg 35 6. Sauber-Ferrari 31
7. Raikkonen 34 7. Williams-Renault 18
8. Grosjean 23 8. Force India-Mercedes 17
9. Perez 22 9. Toro Rosso-Ferrari 6
10. Di Resta 15
11. Senna 14
12. Kobayashi 9
13. Vergne 4
14. Maldonado 4
15. Hulkenberg 2
16. Schumacher 2
17. Massa 2
18. Ricciardo 2