The Mercedes pair then had to make their medium tires last to the end of the race, and a crash between Carlos Sainz and Romain Grosjean on the race restart saw another Safety Car eat into some of those laps.
Vettel in contrast was rewarded for a brilliant start in which he overtook Hamilton within metres on the opening straight. Hamilton ended up 17th while Raikkonen received a penalty, but high-speed crashes and Safety Car appearances ensured both still had a chance of victory. "It felt like the most pressurised lap I have ever had".
Behind, Hamilton moved up to third as Max Verstappen and Raikkonen pit, with Ricciardo staying in sixth as the safety auto was called just after he had made a second stop and handed track position to Raikkonen.
"I think the strategy was pretty good". That came after the Briton started from pole and had already lost two positions by the time the incident occurred.More news: Man who challenged black family’s use of pool loses job
But like in Austria week ago he soon ran into trouble and his hopes of a record-breaking race were immediately over.
He now shares the record of five British wins with late compatriot Jim Clark and France's four-times champion Alain Prost.
The Englishman clearly blamed the Finn, who was handed a 10-seconds penalty, for the crash and found it hard to face Raikkonen or accept an apology. It was my mistake so that was fine. "But I will come back fighting".
Bottas had held Vettel off on a number of occasions but the championship leader then pulled off a sublime late dive to the inside at Brooklands to force his way through (pictured above) and escape up the road, with Bottas then fading as Hamilton and Raikkonen also found a way through.
The four-time champion seized the lead at the start and fought back after losing the initiative during two safety vehicle periods to register his second win at Silverstone and the 51st of his career.More news: Phil Thompson urges Liverpool to sign Harry Maguire
Sky Sports F1 is the only place to watch every Formula 1 Grand Prix, qualifying and practice session live in 2018.
Hamilton was visibly frustrated at the end and skipped his pre-podium interview. "Go be great today and be you and give zero fcks to what anybody thinks".
"With the whole build up, with the whole intensity, with the whole spur-of-the-moment thing, knowing how close we were, for me it feels like one of the best laps that I've been able to produce", he said.
"My team did an fantastic job this weekend", Hamilton said on the podium. "But definitely not on objective, and well deserved to get a 10-second penalty and two points".
After 10 events, Vettel leads the championship on 171 points, followed by Hamilton with 163 and Raikkonen with 116. Perez had recovered from a freakish first-corner spin that saw him nearly take out the cars starting in the pit lane to finish the race 11th for Force India.More news: Belgium coach Roberto Martinez ‘proudest man on earth’ after toppling Brazil