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 protesters.
Red Bull's Mexican Sergio Perez was runner-up, 3.779 seconds behind the Spaniard, with seven-times world champion Lewis Hamilton third for Mercedes in his home race and taking 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 at one point despite him lining up on pole position for the first time, in his 150th race start.
"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 last nine laps were frantic, full of overtaking as the safety car came in and Perez, Ferrari's Charles Leclerc and Hamilton battled for second.
At one point, eight-times British GP winner Hamilton passed both his rivals in one move and then went from second to fourth and back to third.
Championship leader Max Verstappen finished seventh for Red Bull with a damaged car, his 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.
Spain's double world champion Fernando Alonso was fifth for Alpine with McLaren's Lando Norris sixth.
Germany's Mick Schumacher, son of Ferrari great and seven-times world champion Michael, scored his first points in F1 with eighth for Haas who also had Kevin Magnussen finish 10th.
Four-times world champion Sebastian Vettel went from 18th to ninth for Aston Martin on his 35th birthday in a race full of action and suspense but with only 14 finishers.
The race was red-flagged and halted for an hour after Chinese driver Guanyu Zhou's Alfa Romeo became wedged on its side between the tyre wall and catch fence on lap one. He was later given the medical all-clear.
The car skidded at speed upside down along the track before being catapulted over the barrier following a multi-car collision.
Williams's Alex Albon and Mercedes's George Russell, who had previously finished every race in the top five, were also caught in the first-lap mayhem and played no further part in the afternoon.
Albon was later flown to hospital for checks.
While the red flags were still being waved, and cars slowed and returned to the pits, a group of protesters ran on to the track to boos from the crowd before being wrestled away.