Sergio Perez won a rain-delayed, crash-halted and ultimately nail-biting Monaco Grand Prix for Red Bull on Sunday to make his dream come true as another evaporated for Ferrari's Charles Leclerc.
The Mexican's team mate Max Verstappen finished third to stretch his Formula One championship lead over Leclerc, who was fourth, to nine points after seven of 22 races.
Ferrari's Carlos Sainz was second, for the second year in succession.
Leclerc had started on pole position but Ferrari were outsmarted on strategy and he was leapfrogged by the Red Bull drivers in the pitstops.
He at least ended a home jinx to become the first Monegasque to score in Monaco since Louis Chiron finished third in 1950, the year the championship began, but the race had promised so much more.
The win was the third of Perez's career and second for Red Bull, and it ended with a thrilling chase on a treacherous street circuit where the difference between success and failure is measured in millimetres.
The top four at the chequered flag were separated by a mere 2.9 seconds.
The showcase race, whose future is being increasingly questioned as Formula One expands to new venues in the Americas and Middle East, was twice red-flagged and shortened from 77 scheduled laps to 64 after running out of time.
Perez was only the third driver to win a race this season, with Verstappen winning four of the previous six and Leclerc the other two.
Verstappen, who had been chasing a fourth win in a row, now has 125 points to Leclerc's 116 with Perez on 110. George Russell was fifth for Mercedes, ahead of McLaren's Lando Norris and Alpine's Fernando Alonso.
Seven-times world champion Lewis Hamilton took eighth for Mercedes, with Valtteri Bottas ninth for Alfa Romeo and Sebastian Vettel 10th for Aston Martin.
Red Bull forged 36 points clear of Ferrari in the constructors' standings.


Dubai Capitals overpower Abu Dhabi Knight Riders by 83 runs
Mid East finished strong with victory against Arabia
Norris takes F1 title as Verstappen wins Abu Dhabi race
Neser fires Australia to eight-wicket win in second Ashes test
Denmark's Neergaard-Petersen holds nerve to claim Australian Open title
