As the lights went out, pole-sitter Bottas held the lead from Hamilton, as Verstappen jumped Hulkenberg for this. Hamilton and Bottas immediately went to work duelling for the lead, as a spin for Sebastian Vettel left him in last.
Replays showed Vettel's spin, the German losing it by himself after getting on to the inside kerb and almost taking out Carlos Sainz in the process.
Six laps in and Mercedes were already worried of a repeat of last weekend, warning Bottas of his front left tyre being 'critical', as Albon took an early pitstop for hard tyres at the end of the lap.
Bottas pitted on lap 13, as Verstappen closed in behind new race leader Hamilton, who was also struggling with his tyres. Hamilton pitted on the following lap, giving Verstappen the lead on the harder compound.
Further down, Albon put a daring move on Kimi Raikkonen for fifteenth around the outside of Copse, just barely getting past the Finn, as Vettel was slowly working his way up the field, sitting in eleventh. Hulkenberg also visited the pits, rejoining in seventh.
Leclerc complained of engine cutting coming through turn 1, while Kevin Magnussen and Nicolas Latifi almost came to blows as the pair came through Stowe wheel-to-wheel.
Both Bottas and Hamilton suffered with blisters despite only making a pitstop, with Verstappen going faster in the lead on older tyres than both Mercedes on a fresh set of hards. AlphaTauri's Pierre Gasly was also suffering with his rear left tyre, despite only doing a handful of laps on the new set.
Fourth and fifth went to Charles Leclerc and Albon, as Lance Stroll and Hulkenberg crossed the line in sixth and seventh.
Sainz lost out during his stop with a wheel gun issue, almost coming out in the path of Esteban Ocon, but managed to stop in time.
Verstappen pitted for mediums on lap 27, briefly losing out to Bottas, but the Dutch driver quickly regained the lead coming through Luffield. Magnussen was awarded a five-second time penalty for his move on Latifi earlier on in the race.
Renault's Daniel Ricciardo was dropped out of the points after a spin coming through Village while battling with Sainz for ninth on lap 30. Ricciardo was able to continue and rejoin the race in twelfth.
Both Verstappen and Bottas pitted on lap 33, as Hamilton took the lead. Mercedes leaned towards the intention of a one-stop with Hamilton, but the world champion was afraid of a repeat of last weekend.
Verstappen got the call to go after Hamilton with eight seconds to make up in the last ten seconds, as Ferrari's Leclerc pushed on to maintain fourth.
Hamilton eventually pitted on lap 41 rejoining in fourth and setting off the podium positions. Hamilton found a way past Leclerc on lap 46, as Magnussen became the first and only retirement of the race.
Hamilton caught the rear of his teammate with three laps to go, getting past Bottas for second on lap 50. Hamilton then set off Verstappen for the victory, but it was not enough as Verstappen gave the team its first win at Silverstone since 2012.
Ocon and Norris took the chequered flag in eighth and ninth, while Daniil Kvyat took the final point in tenth.
Bahrain International Circuit - Winter testing