Hamilton overtook Poltas Bottas at Silverstone by running a longer first stage that allowed him to stop only once, and it was crucial when the safety car emerged after the Bottas stop.
That gave Hamilton an advantage on the track and he won comfortably after Bottas made a second pit stop to use his second mandatory compound, having used mediums in his first two periods.
Charles Leclerc, of Ferrari, finished third after a dramatic fight for the final podium, in which Leclerc had an epic fight with Verstappen, who was later expelled to the gravel by Vettel.
Pierre Gasly scored the best result of his career in Red Bull in fourth place, while Verstappen managed to pull his Red Bull off the gravel and finish in fifth place, with Vettel in 16th place after needing a new nose and being hit with a penalty of 10 seconds. .
Bottas led the first part of the race, but started the pit stops between the leaders, while Hamilton extended his step to turn 20. That was vital for Hamilton, who was already considering changing the hard and executing a unique strategy.
He and Vettel, who fought in the first opening in the sixth position, but also extended it, were rewarded for their persistence when the safety car emerged, the result of Antonio Giovinazzi of Alfa Romeo locking his rear wheels and slid sideways into Vale's gravel.
With the race neutralized, Hamilton and Vettel threw themselves into the pitlane, rejoining in first and third respectively and without further stops to make. Bottas was limited in his decision not to stand under the safety car and switch to hard tires, which locked him in a two-stop strategy.
The Finnish driver could not attack Hamilton on the restart and ran a couple of seconds adrift of the Briton, before reaching seven laps from the end, which opened a gap big enough for the rest.
That meant he still finished in second place, and seemed to claim the bonus point for a quicker lap as a consolation for his lost victory, before Hamilton pumped an even faster time on the last lap in the old difficulties. Hamilton's last fastest lap meant he extended his points lead to 39.
Behind the two Mercedes drivers, Leclerc finished third after a frantic Grand Prix.
Leclerc kept the place from the beginning, but had to endure the enormous pressure of Verstappen, who managed to simply jump into the pitlane when they stopped at the same time.
However, Leclerc quickly retook the spot when Verstappen made his way into The Loop immediately after leaving the pits, before falling behind after Ferrari opted not to stop it again as soon as the safety car was deployed.
Red Bull reacted faster and stopped Verstappen quickly, and rejoined fifth, behind Vettel and Gasly's sister Red Bull, who stopped earlier and stopped in one stop.
Ferrari's call to stop Leclerc one lap later left him in sixth, and when the race resumed, he attacked Verstappen immediately. His wheel-to-wheel fight resumed and peaked when Leclerc attacked on the outside in the final complex of corners just before mid-distance.
Lightly hit the wheels when Leclerc had the inside for the penultimate turn to the right, and Verstappen went to the drain outside, maintaining the position while rejoining the final corner.
Leclerc's challenge faded after that, while Verstappen passed Gasly by the fourth and then caught and attacked Vettel for the third.
He nailed the Ferrari on the outside at Stowe on lap 37, but it ran a little wide and Vettel got into his slip on the short race to Vale, but he put his Ferrari inside, with nowhere to go, and tried to change it again a The outside too late.
Vettel crashed and crashed into the back of Verstappen's car, throwing it into the air on a curb and into the gravel when the Ferrari ended up facing the wrong way with its rear wheels on the gravel.
They both rejoined, but Verstappen limited himself to the fifth, as Vettel dropped backwards.
The elimination of Vettel from the front allowed Carlos Sainz to take the sixth place for McLaren, fighting against Daniel Ricciardo's Renault in a fierce fight of the best of the rest.
Kimi Raikkonen executed a one-stop strategy to finish eighth, while the timely stop of Daniil Kvyat's safety car allowed him to load up to the ninth in the Toro Rosso. Nico Hulkenberg completed the scorers in 10th in the second of the Renaults.
The two Haas pilots joined Giovinazzi in retirement: Romain Grosjean and Kevin Magnussen collided in the first round and both retired as a result soon after.
Results of the race: