Mark Webber has taken his second grand prix victory on the trot, this time having to soak up immense pressure to win the Monaco Grand Prix as several race-winning margins were eroded by safety car periods.
The Australian led home team-mate Sebastian Vettel in a Red Bull one-two that put the duo equal at the head of the driver's championship standings - although Webber holds top spot on account of his superior number of podiums.
Front row starter Robert Kubica (Renault) had to settle for third after losing out to Vettel off the line at the start of the race. Pre-race championship leader Jenson Button was an early retirement, his car overheating after McLaren left a radiator bung in for the formation lap, but Fernando Alonso (Ferrari) kept himself in title contention by coming through from last to seventh after a canny strategy.
As well as charging through the field, Alonso was at the centre of another talking point when he was overtaken by Michael Schumacher (Mercedes) on the final corner of the race. With the safety car peeling in on the last turn to let the event finish under race conditions, drivers were expected to follow each other across the line. However, Alonso ran a little wide and the following Schumacher ducked up the inside to snatch a cheeky sixth.
However, rule 40.13 of F1 states that "if the race ends whilst the safety car is deployed it will enter the pitlane at the end of the last lap and the cars will take the chequered flag as normal without overtaking."
Schumacher has been given a 20sec penalty and falls to 12th as a result - but his Mercedes team is appealing the decision.
Pitstop strategies worked well for Adrian Sutil as he jumped past Force India team-mate Tonio Liuzzi to take ninth as the duo gave the team its first double points finish.
All the new teams' cars retired, the last of them when Lotus's Jarno Trulli, who had been delayed by a slow pitstop, vaulted over Hispania's Karun Chandhok at Rascasse near the finish.
Revised race results
1. Webber - Red Bull-Renault
2. Vettel - Red Bull-Renault
3. Kubica - Renault
4. Massa - Ferrari
5. Hamilton - McLaren-Mercedes
6. Alonso - Ferrari
7. Rosberg - Mercedes
8. Sutil - Force India-Mercedes
8. Liuzzi - Force India-Mercedes
10. Buemi - Toro Rosso-Ferrari
11. Alguersuari - Toro Rosso-Ferrari
12. Schumacher - Mercedes
13. Petrov - Renault