Lewis Hamilton won the British Grand Prix for the third time with a battling drive to victory in a rain-hit race Silverstone Formula 1 race initially led by Williams.
Mercedes' F1 champion recovered from a poor getaway, in which he dropped from pole position to third, and then drove confidently when rain fell in the second-half of the race before timing his switch to the intermediate tyre well.
Nico Rosberg finished second, the German able to pass both Valtteri Bottas and then Felipe Massa, who struggled in the wet conditions after leading the first stint for Williams, to limit the loss to Hamilton in the championship, with the gap now 17 points.
Ferrari's Sebastian Vettel benefited from an early switch to the intermediates to leapfrog both Williams as the rain intensified to finish third.
Massa made an explosive start from third on the grid, slicing through the middle of the slow-starting Mercedes to take the lead into Abbey, with Bottas slotting into second ahead of Hamilton and Rosberg.
Hamilton reclaimed second with a pass on Bottas into Village, but the race was then neutralised when the safety car was called into action following collisions in the midfield.
The Lotus of Romain Grosjean appeared to tangle with the Red Bull of Daniel Ricciardo, which speared the Frenchman into his team-mate Pastor Maldonado, putting both out of the race.
That incident caused a secondary accident behind with Fernando Alonso taking avoiding action and hitting his McLaren team-mate Jenson Button, which put the Briton out of the race and left Alonso needing to pit for a new nose.
At the restart, Hamilton launched an attack on Massa into Club, but ran wide as the Williams defended the lead.
That opened the door for Bottas to nip in and take second, with Hamilton having to fend off Rosberg.
Bottas closed on Massa and while the team initially told both drivers to work together, it then allowed Bottas to attack but the Finn could not find a way through.
Hamilton was the first to pit, crucially rejoining in front of the longer-running Force India of Sergio Perez, with Massa and Rosberg pitting together the next time around.
Massa exited his pitbox alongside Rosberg and kept his nose in front on the exit but by then, Hamilton had gone through.
Bottas then pitted and rejoined between Massa and Rosberg, meaning Hamilton inherited the lead, the Briton leading for the 18th race in succession to break Sir Jackie Stewart's 45-year-old record.
The rain added a further headache later, but gave Rosberg a chance to fight pass both Bottas and Massa before closing on Hamilton.
The leader then timed his switch to intermediates perfectly and re-established a gap over Rosberg, who came in one lap later and had to settle for second.
Williams's race unravelled when the rain came, with Massa and Bottas struggling for pace and ending up fourth and fifth, jumped by Vettel as Ferrari made an earlier dive for intermediates and then pulled clear.
Red Bull's Daniil Kvyat was sixth and nearly caught Bottas at the end.
Nico Hulkenberg and Sergio Perez ensured Force India's B-spec car had a double-points haul on its debut by finishing seventh and ninth respectively, with Ferrari's Kimi Raikkonen splitting the duo, the Finn losing ground by taking intermediates too soon.
Alonso, who was one of several cars who pitted for intermediate tyres early, scored his first point of the season - after four successive retirements - with 10th.
It was a disastrous race for Toro Rosso, which had showed such strong pace early in the weekend.
Max Verstappen's weekend ended in the gravel when he spun off on cold tyres after the early safety car came in.
Carlos Sainz Jr was running ninth when he stopped out on track at the final corner, banging the steering wheel in disbelief, with the virtual safety car being called into action briefly as a result.
Sauber's Marcus Ericsson, who ran in the points for much of the race, struggled in the wet conditions and dropped to 11th with Manor's Roberto Merhi and Will Stevens - who required a late nose change after an off in the wet - the last of the finishers in 12th and 13th respectively.
Ricciardo retired his Red Bul before the halfway point with what he suspected was an electrical problem.
Felipe Nasr did not make the start after the Sauber driver stopped on one of his reconnaissance laps on the way to the grid. The team was unable to fix his problem in time.
RESULTS - 52 LAPS:
|6||Daniil Kvyat||Red Bull/Renault||1m03.955s|
|7||Nico Hulkenberg||Force India/Mercedes||1m18.744s|
|8||Kimi Raikkonen||Ferrari||1 Lap|
|9||Sergio Perez||Force India/Mercedes||1 Lap|
|10||Fernando Alonso||McLaren/Honda||1 Lap|
|11||Marcus Ericsson||Sauber/Ferrari||1 Lap|
|12||Roberto Merhi||Marussia/Ferrari||3 Laps|
|13||Will Stevens||Marussia/Ferrari||3 Laps|
|-||Carlos Sainz Jr.||Toro Rosso/Renault||Electrical|
|-||Daniel Ricciardo||Red Bull/Renault||Electrical|
|-||Max Verstappen||Toro Rosso/Renault||Spun off|
|-||Felipe Nasr||Sauber/Ferrari||Not started|
|15||Carlos Sainz Jr.||9|