Lewis Hamilton was cruising to a Monaco victory until a bizarre decision to pit the world champion during a late-race safety car outing put him into third position.
Immediately post-race, Niki Lauda said Mercedes made the wrong decision and team boss Toto Wolff echoed the sentiment.
The embarrassment was clear and the Lewis Hamilton that cruised to the finish line was a very unhappy man.
Daniel Ricciardo finished fifth after an early loss of position to his teammate and McLaren finally clawed their way into the points, with Button finishing eighth.
PRACTICE AND QUALIFYING
Monaco's first day of practice is held on Thursdays due to a range of reasons that can easily be caught under the title, "Mystifying Tradition."
FP1 was overcast, mostly dry and headed by Lewis Hamilton and, bizarrely, Jos Verstappen not far behind him. FP2 was damp and tricky.
Roberto Merhi kept the time-honoured tradition of crashing at the Nouvelle Chicane after getting his braking wrong on the elevation change out of the tunnel.
FP3 on Saturday morning saw Raikkonen dump the car in the barriers at Ste Devote while teammate Vettel took top honours. Both Red Bull and McLaren had reason to be cheerful.
A few hours later, McLaren were kicking themselves. Alonso's car died on his first Q2 lap and Nico Rosberg spoiled Button's run by bringing out the yellow flags at Ste Devote.
Ricciardo made it to fourth alongside Vettel, with a Mercedes front-row lockout and Hamilton's first Monaco pole.
Lotus' Romain Grosjean copped a five place penalty for a gearbox change and Carlos Sainz missed an appointment with the scales and also got a penalty.
These demotions hurt way more at Monaco than anywhere else. Sainz would start from pitlane.
The iffy weather of Thursday stayed away for the race, with bright sunshine greeting the drivers and, most importantly, their tyres.
Drivers had been complaining of low temperatures and the sun was welcome for most of the grid.
The two Mercedes got a good start, but so did Sebastian Vettel who nearly nabbed second from Rosberg.
Most of the field got through Ste Devote but at Mirabeau, the Force India of Nico Hulkenberg ended up in the tyres minus its front wing after a hip-and-shoulder from Alonso. Alonso later received a five second stop-and-go penalty.
Daniel Ricciardo lost a place after getting hung out to dry by his fast-starting teammate.
Felipe Massa's indifferent weekend got downgraded to terrible, needing to pit for a new wing after a whack from Pastor Maldonado off the start. He rejoined lap down.
By lap five Hamilton already had well over two seconds over Rosberg who had two seconds over Vettel.
Max Verstappen and Maldonado had an entertaining, if short, battle for eighth place before the Lotus driver came into the pits and retirement with rear brake trouble caused by his kinetic energy system packing up.
Verstappen's eagerness saw him lose a wing endfence at the Nouvelle Chicane, bringing out the yellow flags for a few laps.
The race settled for a time, but then Vettel began to close on Rosberg. Lewis Hamilton was dealing with a rear brake issue, the race leader sounding worried about the situation, before putting in some quick sectors.
Carlos Sainz pitted and took on the prime tyre. His subsequent performance sent waves down the pitlane as the numbers crunched and two-stopping teams pondered a switch to one-stop.
Vettel took advantage of traffic to close up on Rosberg to within DRS range. Rosberg's pitwall told him to push and the race began to wake up as teams rolled the dice.
Verstappen's stop was disastrous on lap 30, dropping to 13th after spending thirty seconds stationary with a stuck right rear wheel.
Raikkonen closed on Ricciardo as the pair worked their way through traffic, the Finn stalking the Red Bull from just half a second behind.
Vettel and Ricciardo pitted on lap 37 but Ricciardo was unable to get out ahead of Kvyat.
Rosberg pitted in response to Vettel's stop and Raikkonen came in too. Vettel's attempt to undercut didn't work but Raikkonen's did, coming out ahead of the Red Bull.
Hamilton made his stop on lap 38, his lead seemingly unassailable at nearly eight seconds.
Raikkonen nearly lost his place at the Nouvelle Chicane on lap 39, having to hop the kerbs and allow Ricciardo to regain several car lengths.
Fernando Alonso's race came to an end - from a points-scoring position - on lap 43. The Spaniard locked up into Ste Devote and he stepped once again from a crippled car, this time with a suspected gearbox problem caused by overheating.
The race quietened a little again, with times yo-yoing between Kvyat and Raikkonen and Ricciardo and Perez. Raikkonen voiced his displeasure over the team radio at the lack of co-operation from cars being shown the blue flag.
Verstappen's second stop for super-softs may have put him a lap down but the young Dutchman proved he's a wily operator by running with Vettel and using him to slice by the cars the former champion was lapping.
Verstappen's next target was Grosjean, but Lotus was wise to the slip-streaming idea Verstappen had.
Grosjean allowed Vettel by at the hairpin and shut the door on the Toro Rosso, but given the superior grip of the super-softs, the Lotus driver had a fight on his hands.
It ended very, very badly for Verstappen. On the run in to Ste Devote, Grosjean braked as the Toro Rosso driver made his move at the beginning of lap 64.
Verstappen was diving for the inside but clipped the right rear of Grosjean's Lotus. His front left suspension disintegrated and Verstappen became a passenger, careening into the barrier.
Grosjean recovered from a spin and went on his way. Both were unhurt, Verstappen's HANS device no doubt saving his neck from injury, such was the impact.
Mercedes pitted Hamilton for super-softs - he had a big lead, but it wasn't big enough. The team got it wrong as Hamilton came out behind not only Rosberg but Vettel too.
The Briton had been held momentarily to allow Nasr to pass by in pitlane, but the call to pit was a fatal blow.
A frustrated Hamilton pushed past Vettel but then fell behind, asking his team if he had just lost the race. The argument about who was ahead at the Safety Car line rolled on, with Vettel also complaining about the length of the intervention.
Racing resumed at the end of lap 70 and Rosberg tried to get the jump on Vettel. Hamilton was raging behind Vettel on the way up Beau Rivage, trying at every corner to get by the Ferrari.
Daniel Ricciardo meanwhile got by Raikkonen, who was less than impressed by the robust move at Mirabeau. He also grabbed Kvyat's fourth place after the Russian allowed him through to try his luck on Hamilton.
DRS was re-enabled on lap 73 and Hamilton tucked up behind Vettel but seemed resigned to his fate, declaring it impossible to pass.
Second to fourth was covered by just over a second at the beginning of the final lap. Rosberg took the win and Ricciardo slowed to allow Kvyat to come back past after failing to get by Hamilton.
"It was a good race today and a good result for the team. I had some fun in the last few laps trying to get close to Hamilton and Vettel to fight for a podium position. I knew we were in a position to attack in the end which made it exciting I think," Ricciardo said.
"The team worked well, Dany let me past to have a crack at the podium and I gave back the place on the last lap when I couldn't get past Hamilton."
"I had a little incident with Kimi and it's hard to get a clean move without a little contact in Monaco, I appreciate the stewards not taking any further action and I think the crowd and the fans enjoyed it."
Vettel continued his great form to come home second. An awkward podium ceremony ensued, with Hamilton walking away briefly before returning for the obligatory post-race interview.
Formula 1 returns in two weeks for the Canadian Grand Prix.
- Nico Rosberg - Mercedes - 1h49m18.420s
- Sebastian Vettel - Ferrari +4.486s
- Lewis Hamilton - Mercedes +6.053s
- Daniil Kvyat - Red Bull/Renault +11.965s
- Daniel Ricciardo - Red Bull/Renault +13.608s
- Kimi Raikkonen - Ferrari +14.345s
- Sergio Perez - Force India/Mercedes +15.013s
- Jenson Button - McLaren/Honda +16.063s
- Felipe Nasr - Sauber/Ferrari +23.626s
- Carlos Sainz - Toro Rosso/Renault +25.056s
- Nico Hulkenberg - Force India/Mercedes +26.232s
- Romain Grosjean - Lotus/Mercedes +28.415s
- Marcus Ericsson - Sauber/Ferrari +31.159s
- Valtteri Bottas - Williams/Mercedes +45.789s
- Felipe Massa - Williams/Mercedes +1 Lap
- Roberto Merhi - Marussia/Ferrari +2 Laps
- Will Stevens - Marussia/Ferrari +2 Laps
Max Verstappen - Toro Rosso/Renault - 62 laps - Collision
Fernando Alonso - McLaren/Honda - 41 laps - Gearbox
Pastor Maldonado - Lotus/Mercedes - 5 laps - Brakes