Max Verstappen took the chequered flag to win in Monaco for the first time and move ahead of Lewis Hamilton in the Formula One drivers championship.
The Dutchman finished 8.9 seconds clear of Ferrari's Carlos Sainz, with Lando Norris of McLaren keeping Verstappen's Red Bull team-mate Sergio Perez at bay to take the final spot on the podium.
Hamilton claimed a bonus point for the fastest lap of the race but now trails Verstappen by four points after five races.
Ferrari pole-sitter Charles Leclerc was unable to start his home grand prix because of a driveshaft problem.
The Italian team said the driveshaft problem, which emerged just before the race, was impossible to fix in time for the start, meaning Verstappen started the race on pole ahead of Mercedes' Valtteri Bottas who did not finish the race after an issue during his pitstop.
Verstappen headed into Sunday's race 14 points behind Hamilton but now leaves the principality four points ahead of the seven-time world champion.
Hamilton, who was facing an uphill task after qualifying only seventh, took aim at Mercedes after he became the first of the leading pack to stop for tyres on lap 29 of 78.
He emerged from the pits in eighth, and then saw both the Aston Martin of Sebastian Vettel and Red Bull's Sergio Perez re-join ahead of him after they changed for rubber several laps later.
"I don't understand, guys," said Hamilton on the radio. "I saved the tyres to go longer and we stopped before everyone."
Hamilton's race engineer Peter Bonnington then had to deliver the grim news that Perez was also ahead of him on the track.
"We have lost the position to Perez, too," Bonnington said. "Sorry about that."
With overtaking largely impossible on the narrow Monte Carlo streets, Hamilton was unable to make any impression on Pierre Gasly.
In the closing stages, he stopped for a second time to take on fresh rubber and claim a bonus point for the fastest lap before finishing almost a lap down on Verstappen.
The Dutchman's path to glory was sealed when Leclerc retired from the race before it had started.
Ferrari elected not to change the Monegasque's gearbox following his 110mph crash in the closing seconds of qualifying on Saturday.
The decision ensured Leclerc escaped a five-place grid penalty, but it backfired after he reported problems immediately upon leaving his garage.
"No, no, no, no, the gearbox, guys," said a slowing Leclerc over the radio as he emerged from the tunnel.
He made it back to the pits but was unable to start the race after his Ferrari crew identified a left driveshaft failure.
Leclerc, raised in an apartment which overlooks the start-finish straight in Monte Carlo, appeared on the brink of tears as he was told his race was over.
Ferrari chairman John Elkann, with his navy blue jumper draped over his blazer, tried to console the Monegasque at the back of the garage.
At the start, Verstappen kept Bottas at bay on the short run down to Sainte Devote and never looked like losing the race as he claimed his second win of the season and first in Monaco.
Norris was hustled to the flag by Perez but held on for the final spot on the podium to move back into third in the standings and above Bottas following the Finn's pit-stop horror show.
Vettel finished fifth - his best result since joining Aston Martin - with Gasly sixth.