Mercedes' Lewis Hamilton fought off a Williams threat and made a perfect pit stop call when it mattered in the rain to win his British home grand prix a third time on Sunday.
The pole sitter Hamilton was passed by Felipe Massa at the start and by Valtteri Bottas after an early safety car stage but reversed matters against the Williams' during the first round of pit stops.
Hamilton then survived a wet end of the race thanks to a spot-on pit stop en route to his fifth season win and 38th overall.
Team-mate and championship rival Nico Rosberg recovered from fourth before the rain to second, and Sebastian vettel stole third for Ferrari as Williams pitted too late in the rain for intermediate tyres and had to settle for fourth and fifth.
Hamilton stretched his lead again to 17 points over Rosberg who had won three of the past four races in a comeback effort. Hamilton has 194 points from nine of 19 races, Rosberg 177 and Vettel 135.
He can also see the emotional success in front of a sellout crowd of 140,000 as he good omen because he won the world title in the years he previously topped the Silverstone race, 2008 and 2014.
"Thank you for coming out and making my weekend. I am so thankful for all the support. I just felt you carried me along," the elated Hamilton said on the podium.
He added later: "I thought when it started to rain the heavens was not going to make it easy to me. Nico was catching me and I chose to come in and change the tyres and thankfully it was the right choice."
Mercedes motorsport chief Toto Wolff said that Hamilton was in intense talks with the team as the rain started to fall but that Hamilton was to decide on his own when to pit.
"We depended on his information and allowed him to make the call," Wolff said.
Like in Austria two weeks, Hamilton failed to win the start from pole but it wasn't Rosberg who spoilt the show for him but rather Massa, who shot into the lead between the two Mercedes with a sensational move from third on the grid.
Bottas almost also got past Hamilton as well but the safety car soon came out after a chain reaction further behind took out the Lotus cars of Romain Grosjean and Pastor Maldonado as well as the McLaren of Jenson Button, and damaging the second McLaren of Fernando Alonso who required a pit stop.
Things got even better for Williams on the restart in the fourth lap when Hamilton attacked Massa but instead lost second place to Bottas for a double Williams lead ahead of the Mercedes pair.
Hamilton got the lead thanks to pitting first in the 20th lap but things got interesting again when the race was first controlled by a virtual safety car after Carlos Sainz' Toro Rosso stepped next to the track, and the drizzle started as soon as the all-clear came in the 36th lap.
Hamilton decided to stop in lap 44 (along with Vettel) which proved the winning move as Williams lost plenty of time by pitting a lap later and had by then been passed by Rosberg.
"I had a fantastic start," Massa said. "I was just one lap to late (with the late pit stop). We have a good result but it could have been a fantastic result."
Rosberg said: "It was not nice at one point. I could not get by the Williams but then it was cool, it was a great race when it started to drizzle, that gave me the opportunity to pass both Williams and then hunt down Lewis. I was believing I was going to get him but ... Lewis made the right call. I thought it was wrong at first."
Daniil Kvyat (Red Bull), Nico Hulkenberg (Force India), Kimi Raikkonen (Ferrari), Sergio Perez (Force India) and Alonso completed the top 10, giving the former champion Alonso his first points of the season in the ninth race.
With the originally planned German GP scrapped on July 19, the next race is in Hungary on July 26.
