Mercedes driver Nico Rosberg has secured his third successive victory at the Monaco Grand Prix with a finish time of 1:49:18.420.
The German became only the fourth man to win three in a row in Monte Carlo as he came in a fraction of a second ahead of Ferrari's Sebastian Vettel, with teammate Lewis Hamilton in third.
Hamilton looked odds-on to win the race with eight laps remaining, holding a lead of more than 20 seconds, but a botched pitstop saw Vettel and Rosberg reenter the track ahead of the Briton.
The race's turning point came when Max Verstappen of Toro Rosso collided with a wall in the 64th lap, resulting in the introduction of a safety car while Hamilton was in the pit lane.
Verstappen emerged without serious injury, but Mercedes' misjudgment of the situation left Hamilton with the impossible task of clawing back lost ground on Vettel and Rosberg.
Daniil Kvyat of Red Bull challenged the Briton for a podium finish, but he was made to settle for fourth place with a finish time of 1:49:30.385, while Hamilton clocked in at 1:49:24.473.
His teammate Daniel Ricciardo was a fraction of a second behind in fifth, with Kimi Raikkonen in sixth, Sergio Perez in seventh, and Great Britain's Jenson Button claiming his first points of the season in eighth.
Felipe Nasr of Sauber and Carlos Sainz Jr of Toro Rosso rounded off the top 10.
1. Nico Rosberg (Mercedes)
2. Sebastian Vettel (Ferrari)
3. Lewis Hamilton (Mercedes)
4. Daniil Kvyat (Red Bull)
5. Daniel Ricciardo (Red Bull)
6. Kimi Raikkonen (Ferrari)
7. Sergio Perez (Force India)
8. Jenson Button (McLaren)
9. Felipe Nasr (Sauber)
10. Carlos Sainz Jr (Toro Rosso)
11. Nico Hulkenberg (Force India)
12. Romain Grosjean (Lotus)
13. Marcus Ericsson (Sauber)
14. Valtteri Bottas (Williams)
15. Felipe Massa (Williams)
16. Roberto Merhi (Manor)
17. Will Stevens (Manor)
Retired: Fernando Alonso, Pastor Maldonado, Max Verstappen