Red Bull's Daniel Ricciardo overcame a mid-race power loss to win the Monaco Grand Prix from pole position on Sunday.
The Australian driver showed outstanding composure and defensive driving to fend off Sebastian Vettel's Ferrari.
Vettel shaved a few points off championship leader Lewis Hamilton of Mercedes, who finished third.
Hamilton made an audacious move by pitting for new tires several laps before his rivals, but was worried they would wear out completely by the end.
The virtual safety car came out for the last few laps after Charles Leclerc lost his brakes and shunted his Sauber into the back of Brendon Hartley's Toro Rosso. Drivers are not allowed to overtake when the VSC is deployed and must maintain a steady speed.
The incident came too late and made no difference to the overall race picture.
Kimi Raikkonen was fourth for Ferrari ahead of Mercedes' Valtteri Bottas and Force India's Esteban Ocon.
It was Ricciardo's second win of the season after the Chinese GP last month and seventh of his career, pushing him up to third in the title race.
Ricciardo thought he'd won in Monaco two years ago, where he led from pole position only to be undone by a botched pit stop by his team which left him furious.
There was no denying him this time.
"Two years in the making and I finally feel redemption has arrived," Ricciardo said. "I lost power halfway and I thought the race was over. Thanks to the team we got it back. I'm stoked."
Ricciardo appeared emotional, even tearful, as he sat in his car moments after crossing the finish line after 78 laps on the winding 3.34-kilometer (2.1-mile) street circuit.
It was soon time for Ricciardo's typical showmanship.
He stood on his car, nodded slowly in recognition of his achievement and then thumped his chest.
"There were a few doubts that came in. But we won Monaco," he said, laughing. "It feels good."
Red Bull team principal Christian Horner rushed over to him and they hugged.
As he usually does after a victory, Ricciardo took off his shoe, filled it with champagne and drank out of it.
He then offered the huge bottle - but not the shoe - to Prince Albert of Monaco, who took a small sip.
Vettel, too, will be in a good mood after reducing Hamilton's championship lead from 17 points to 14.
It is shaping up to be an intriguing season, with Ricciardo, Vettel and Hamilton winning two races each.
Ricciardo's Red Bull teammate Max Verstappen finished ninth after starting from 20th and last place having crashed prior to Saturday's qualifying.
Near the end, the Dutchman was on fresher tires and making them count as he zoomed past Renault's Carlos Sainz Jr. with a typically brazen overtaking move.