Sergio Perez took his maiden Formula One victory for Racing Point after a Mercedes pitstop mix-up and puncture denied super-sub George Russell an almost certain first win on his debut for the world champions.
The 22-year-old Briton, parachuted in to replace Lewis Hamilton after the seven-times world champion tested positive for Covid-19, looked comfortably in control having wrested the lead from his pole-sitting team mate at the first corner.
But a pitstop bungle, which initially dropped him to fifth, and then a puncture that struck while he was back up to second and hunting Perez down for the lead, ended his hopes.
That left Perez, who found himself at the back of the field at the end of the first lap after contact with Ferrari's Charles Leclerc, free to cruise across the line 10.5 seconds clear of Renault’s Esteban Ocon.
The Mexican's team mate Lance Stroll was third giving the podium an unfamiliar feel.
"I'm speechless," said Perez, who is out of a drive after next weekend's Abu Dhabi Grand Prix and hoping to land the seat alongside Max Verstappen at Red Bull for 2021.
"I hope I'm not dreaming... ten years it took me. I don't know what to say, after the first lap, the race was gone.
"But we just didn't give up."
Perez, who vaulted to fourth in the overall standings after Sunday's race, is the first Mexican driver to win a race since Pedro Rodriguez took victory in the 1970 Belgian Grand Prix.
It was also Silverstone-based Racing Point's first win since the 2003 Brazilian Grand Prix when the team raced as Jordan.
The 30-year-old also becomes the second first time winner this season after Pierre Gasly scored his first Formula One triumph for AlphaTauri at the Italian Grand Prix in September.
If Perez's drive from 18th to first was the stuff of fantasy, Russell’s race had the makings of a nightmare. The Briton seemed to easily have the measure of Bottas who appeared to be his only real challenger after Leclerc and Verstappen crashed out on the opening lap.
Contact with Perez broke Leclerc's suspension while Verstappen, trying to avoid them, ran off the track and into the barriers.
But hopes of a fairytale first win for the Briton, who otherwise drivers for back of the grid Williams, were dashed on the 62nd of 87 laps.
Mercedes brought both Russell and Bottas into the pits together in a ‘double-stack’ under the safety car.
But they fitted some of Bottas’ tyres onto Russell’s car forcing him back into the pits a lap later.
That dropped Russell behind Bottas despite a slow stop for the Finn but the 22-year-old barged past the four-year Mercedes veteran with a bold move at the restart for fourth.
Three laps later he was past Ocon for second and chasing Perez when a puncture forced him to pit for a fourth time, finally putting paid to any chance he might have had.
Nevertheless, voted driver of the day, he charged back through the field to score his first Formula One career points with ninth one place behind Bottas. He also took the point on offer for fastest lap.
The Briton is, however, under investigation by stewards for the tyre mix up.
Bottas finished an underwhelming race in eighth. Mercedes have already won both championships for the seventh year in a row, with Hamilton clinching his title in Turkey last month.
The race was interrupted by two safety cars and one virtual safety car.