The Formula One world champion took advantage of a safety car to jump ahead of Mercedes team-mate Valtteri Bottas, delighting the bumper 141,000-strong Silverstone crowd.
Browsing: British Grand Prix
The victory has seen Ferrari driver Vettel extend his championship lead over Hamilton to eight points with his fourth win of the season, but it was his first at Silverstone for nine years.
Vettel was on course for a top-three finish, but the German suffered a puncture with two laps to go, and a seventh-place finish means that he will take only a slender one-point advantage into the Hungarian Grand Prix.