Lewis Hamilton won his home British Grand Prix for the third year in a row with Mercedes team-mate and title rival Nico Rosberg finishing second, but relegated to third.
Rosberg collected a 10-second penalty for advice received over the radio, dropping him a spot to third.
The triple Formula One world champion's fourth home win, from pole position in tricky conditions, was the 47th victory of his career and cut Rosberg's overall lead to four points after 10 of 21 races.
Rosberg was slowed by a gearbox problem five laps from the end and crossed the line 6.9 seconds behind, with a question mark over his result after Mercedes broke the rules on radio advice by telling him to avoid seventh gear.
Red Bull's Dutch teenager Max Verstappen was third, 1.3 seconds behind Rosberg, in a race that began behind the safety car after heavy rain before starting properly at the end of the fifth lap.
"I don't know if you can be as happy as me but I'm really happy," Hamilton told the 130,000-strong crowd that stood and cheered him all the way round the final lap.
"I'm glad that the good English weather came out. It was so tricky in those conditions. When we started the race, I was the first one who had to attack it," said the champion.
"It's never plain, smooth sailing - that's why the British GP is the best."