Lewis Hamilton won the British Grand Prix to close to within four points of Nico Rosberg in the title race.
Hamilton's team-mate was leading, but being chased down by the Briton, before he retired with gearbox failure.
The race was delayed for nearly an hour for barriers to be repaired following Kimi Raikkonen's high speed crash.
Up to 120,000 fans saw Hamilton emerge victorious at Silverstone for the first time since 2008 - a year in which he went on to win the drivers' title.
Williams' Valtteri Bottas was second from Red Bull's Daniel Ricciardo.
The Australian held off a charge from McLaren's Jenson Button in the closing laps as Red Bull's Sebastian Vettel won a thrilling battle with Ferrari's Fernando Alonso for fifth.
Hamilton started sixth after making a mistake in aborting his final qualifying lap, with his team-mate on pole. He was up to fourth after the first four corners when the race was red-flagged following a heavy crash involving Ferrari's Kimi Raikkonen.
The Finn ran off the track through Turn Four and spun as he rejoined. Williams driver Felipe Massa clipped the Ferrari as it spun across the track, and Raikkonen speared into the barriers.
The race was stopped to repair the barriers damaged by the heavy impact from the Ferrari, and Raikkonen was taken to the medical centre, where he was diagnosed with bruising to his ankles.
The race re-started behind the safety car after an hour's delay and Rosberg built up a five-second lead in the two laps it took Hamilton to pass Jenson Button's McLaren.
Hamilton conserved his tyres for a few laps, letting the lead go out to 5.7 seconds by lap nine, before starting to haul Rosberg back.
The 2008 world champion was 2.8 seconds behind by the time Rosberg made what was scheduled to be his first pit stop on lap 18 of 62. He reported "problems on the downshift" two laps later.
Hamilton stayed out for a further six laps, with the intention of having a shorter stint at the end of the race in which he could attack his team-mate.
He rejoined 5.9secs behind after another slow pit stop, something that has afflicted him this season more often than Rosberg.
Hamilton took a second out of his team-mate on lap 27 and then a further two seconds next time around as Rosberg started to report up-shift problems.
Two laps later, going through Turn Three, Rosberg lost his gears. He cruised around as far as Becketts trying to reset the gearbox but had to pull off and retire - his first non-finish of the year.
That left Hamilton in a comfortable lead from Bottas, who had powered through the field in the first stint, moving up to third place behind the two Mercedes and Button by lap 16.
"I honestly feel I had the pace today," said Hamilton on the podium. "I was catching Nico in the first stint and was feeling pretty comfortable. I never want to see my team-mate fail like that. I was looking forward to a wheel-to-wheel battle but I'm sure we'll get many in the future."
Ricciardo made up places after starting eighth by choosing a one-stop strategy, and driving beautifully to make his final set of tyres last from lap 15 to the end and take the final podium place.
Vettel and Alonso enlivened the late stages with a superlative wheel-to-wheel battle for 15 laps before the world champion finally found a way past.
Vettel rejoined from his second pit stop just ahead of Alonso, who was on a one-stop strategy and on older tyres.
The Spaniard had fought through superbly from 16th on the grid, making a series of skilled overtaking manoeuvres, but was delayed by a five-second stop-go for having only half his car in his grid slot at the start.
Alonso passed Vettel on the German's out-lap from his final pit stop in a brave move around the outside of the 160mph Copse corner, but then had to fight off the Red Bull on its fresher tyres.
Time and again Vettel would get close into Brooklands and Luffield and Alonso would hold him off, as each repeatedly complained about the other - Vettel about Alonso's defence and exceeding track limits, Alonso just what he saw as Vettel doing the latter.
Vettel eventually got through by holding on the inside line at Luffield, getting alongside Alonso through Woodcote and on the run to Copse and forcing the Spaniard to finally give way, in a move that matched Alonso's earlier one for skill and bravery.
McLaren's Kevin Magnussen took seventh, ahead of Force India's Nico Hulkenberg and the Toro Rossos of Daniil Kvyat and Jean-Eric Vergne.