Monaco: 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 teammate 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.
"This is us! Come on, vamos," screamed Perez as he crossed the finish line 1.1 seconds ahead of Sainz with Verstappen a further 0.3 behind.
"It's a dream come true," he said. "After your home race it's the most special race to win."
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.
Red Bull forged 36 points clear of Ferrari in the constructors' standings.
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.