Mark Webber kept a five-car train at bay in tricky conditions to secure the second Monaco Grand Prix victory of his career and become the sixth winner in as many races in the 2012 Formula 1 season.
That statistic is unprecedented in F1 history, but Webber's win did make Red Bull the first team to notch up a repeat win this year.
Mercedes driver Nico Rosberg was second, while Fernando Alonso completed the podium for Ferrari and now leads the world championship. Sebastian Vettel in the second Red Bull, Lewis Hamilton's McLaren and Alonso's team-mate Felipe Massa rounded out a very close top six.
Pole position starter Webber held off Rosberg's Mercedes away from the grid, then remained ahead through the sole pitstop sequence, despite Rosberg going for fresh tyres earlier.
Vettel brought himself into contention by getting up to sixth at the start, then stayed out until lap 45 before switching from softs to the super softs that everyone else had started the race on. Lapping 1.5s faster than anyone else for a spell while leading, Vettel was able to emerge from his stop in fourth ahead of Hamilton, who had lost out to Alonso in the pits.
Rain had threatened all afternoon, and became slightly heavier going into the final eight laps, just as the leaders' tyres began to fade. That brought the top six even closer together, with Rosberg, Alonso, Vettel, Hamilton and Massa - in his strongest drive of the year so far - suddenly right on Webber's tail. But as the drizzle eased again, the pace increased and Webber was able to wrap up his first win of 2012.
A start crash eliminated another podium contender. Lotus's Romain Grosjean made a slow start then tangled with Michael Schumacher's Mercedes, breaking the Lotus's suspension and sending it spinning across the pack at Sainte Devote. Amazingly none of the frontrunners hit it, but it did clip Kamui Kobayashi's Sauber, which became airborne and later retired with suspension damage. Further back, Barcelona winner Pastor Maldonado (Williams) ran into Pedro de la Rosa's HRT.
Schumacher was able to continue and ran seventh until fuel pressure problems forced him to retire.
Jean-Eric Vergne (Toro Rosso) then picked up that position - a very early pitstop on lap 18 having given him chance to run in clean air and vault up the order. But a decision to pit for intermediates in the late shower proved misguided and dropped him out of the points.
Force India scored with both cars as Paul di Resta and Nico Hulkenberg finished seventh and eighth, followed by Kimi Raikkonen in the remaining Lotus. The Finn lost time when his tyres dramatically faded in the first stint and he then spent a while trapped behind Charles Pic's Marussia following his stop. Bruno Senna completed the scorers for Williams.
Jenson Button failed to make any progress in the second McLaren. After taking to the escape road to avoid the first-corner crash, he spent most of the afternoon trying to pass Heikki Kovalainen's Caterham, eventually spinning at the second part of the Swimming Pool in his efforts, and retiring soon after.
Kovalainen had been on course for 11th, but had to pit with front wing damage amid a fraught battle with Sauber's Sergio Perez, so fell to 13th behind Vergne.
PROVISIONAL RACE RESULTS The Monaco Grand Prix Monte Carlo, Monaco; 78 laps; 260.520km; Weather: Cloudy. Classified: Pos Driver Team Time 1. Webber Red Bull-Renault 1h46:06.557 2. Rosberg Mercedes + 0.643 3. Alonso Ferrari + 0.947 4. Vettel Red Bull-Renault + 1.343 5. Hamilton McLaren-Mercedes + 4.101 6. Massa Ferrari + 6.195 7. Di Resta Force India-Mercedes + 41.537 8. Hulkenberg Force India-Mercedes + 42.562 9. Raikkonen Lotus-Renault + 44.036 10. Senna Williams-Renault + 44.516 11. Perez Sauber-Ferrari + 1 lap 12. Vergne Toro Rosso-Ferrari + 1 lap 13. Kovalainen Caterham-Renault + 1 lap 14. Glock Marussia-Cosworth + 1 lap 15. Karthikeyan HRT-Cosworth + 2 laps Fastest lap: Perez, 1:17.298 Not classified/retirements: Driver Team On lap Button McLaren-Mercedes 71 Ricciardo Toro Rosso-Ferrari 66 Pic Marussia-Cosworth 65 Schumacher Mercedes 64 Petrov Caterham-Renault 16 Kobayashi Sauber-Ferrari 6 De la Rosa HRT-Cosworth 1 Maldonado Williams-Renault 1 Grosjean Lotus-Renault 1 World Championship standings, round 6: Drivers: Constructors: 1. Alonso 76 1. Red Bull-Renault 146 2. Vettel 73 2. McLaren-Mercedes 108 3. Webber 73 3. Ferrari 86 4. Hamilton 63 4. Lotus-Renault 86 5. Rosberg 59 5. Mercedes 61 6. Raikkonen 51 6. Williams-Renault 44 7. Button 45 7. Sauber-Ferrari 41 8. Grosjean 35 8. Force India-Mercedes 28 9. Maldonado 29 9. Toro Rosso-Ferrari 6 10. Perez 22 11. Di Resta 21 12. Kobayashi 19 13. Senna 15 14. Massa 10 15. Hulkenberg 7 16. Vergne 4 17. Schumacher 2 18. Ricciardo 2 All timing unofficial