Lewis Hamilton battled back from last to second as his championship rival Sebastian Vettel won a dramatic British Grand Prix.
Hamilton was spun round at the first corner by Vettel's Ferrari team-mate Kimi Raikkonen, but turned in a masterful display, and took advantage of two safety car periods to finish behind Vettel.
Raikkonen crossed the line ahead of Valtteri Bottas, who had led with only five laps of the race remaining.
Vettel strengthens his stranglehold on the championship, and will now head to his home race in Germany in a fortnight's time with an eight-point advantage.
Hamilton secured pole 24 hours earlier, but his getaway here was slow and it was not long before Vettel had passed the Brit for the lead with Bottas following suit.
Raikkonen was then all over the back of Hamilton's Mercedes gearbox, and the Finn locked up at the right-handed turn three and slammed into his opponent.
Hamilton was sent spinning round, and suddenly he found himself down in 18th and with it all to do.
Raikkonen was at fault for the coming together and the stewards concurred as they slapped the Ferrari driver with a 10-second penalty.
While Vettel led from Bottas at the front all eyes were on Hamilton and his comeback drive through the field.
Cheered on by the vast majority of 140,000 partisan fans, Hamilton was driving like a man possessed, and was picking off his opponents with ease.
By the end of lap three, Hamilton was 14th. Three laps later he was into the points after passing Kevin Magnussen's Haas, and on lap 11 he was up to sixth having dispatched of Nico Hulkenberg's Renault.
Remarkably the defending champion had made up 11 places in just 10 laps.
The front-runners all stopped for fresh rubber, promoting Hamilton to third. Hamilton stopped for new tyres after 25 laps and dropped back to sixth.
Hamilton was 29 seconds behind leader Vettel and 11 behind Raikkonen, but he was turning in the quickest laps of the race, and when Daniel Ricciardo stopped for a second time, he was up to fifth.
Then the race took another unexpected twist when Swede Marcus Ericsson crashed out at 200mph.
The Sauber driver emerged unscathed, but the safety car was sent out. Both Ferrari and Red Bull drivers took advantage of the safety car to stop for fresh tyres, but Mercedes left both of their cars out.
Bottas would assume the lead from Vettel, with Hamilton now third. The Brit, however, was straight on the radio. "There is no way I am going to be able to compete with these guys on old tyres," he said.
The response from his race engineer Pete Bonnington was simple. "You're the fastest out there by miles," he said. "It is all there. Don't give up."
After the Sauber wreckage was cleared, the race resumed only for Romain Grosjean to collide with Carlos Sainz at the high-speed Copse corner.
Out came the safety car again. With 11 laps remaining, the race started once more. A blanket could be thrown over the leading four cars as they scrapped for position.
Bottas, on old tyres, was starting to wane, and with five laps to go Vettel perfectly executed his move at Brooklands to take the lead.
Hamilton made his way past Bottas on the following lap, with Raikkonen then taking his countryman for third, and that is how the leading four cars would cross the line in a frenetic ending.