Ferrari's Carlos Sainz claimed his first Formula One victory on Sunday in a thrilling British Grand Prix halted by a first-lap crash and with the added mayhem of a track invasion by environmental protesters.
Red Bull's Mexican Sergio Perez was runner-up, 3.779 seconds behind the Spaniard, with seven-time world champion Lewis Hamilton third for Mercedes in his home race and taking the fastest lap for a bonus point.
"Yes! We did it! Vamos!" exclaimed a delighted Sainz over the radio after a win that had looked unlikely despite him starting on pole position for the first time and in his 150th race.
"I don't know what to say, it's amazing.
"First race win, 150 races later, with Ferrari in Silverstone. I cannot ask for more. It's a very special day, a day that I will never forget, a very special weekend in general."
The victory ended a run of six successive Red Bull victories and made Sainz only the second Spaniard to win a grand prix after double world champion Fernando Alonso, who took fifth for Alpine.
The last nine laps were frantic, full of overtaking as the safety car came in and Perez, Ferrari's Charles Leclerc and Hamilton fought for second.
At one point, eight-time British GP winner Hamilton -- who led for eight laps -- passed both drivers in one move, then went from second to fourth and back to third for his second successive podium.
Championship leader Max Verstappen finished seventh for Red Bull after being slowed by a puncture and damaged bodywork, his overall lead over Perez cut from 46 to 34 points after 10 of 22 races.
Leclerc, who had led with 12 laps to go, finished an unhappy fourth after a strategy call that cost him victory.
The Monegasque stayed out during a late safety car deployment and then had to defend against rivals with fresher tyres.