When the five red lights went out, Bottas held on to the lead from Hamilton and Leclerc. Vettel jumped Gasly for P5 and Norris jumped Ricciardo for 7th after some thrilling wheel-to-wheel battling on the opening lap.
The Haas’ made contact on the Wellington Straight and both were forced to pit at the end of lap 1 with damage to their cars. Magnussen retired not long afterwards.
At the front, Hamilton followed his teammate closely and made a move for the lead on lap 4 and briefly got in front at Luffield. However, the Finn got a great exit and pulled off a great move to retake the lead into Copse.
With the Ferraris on softs, the Red Bulls on mediums were all over them. Leclerc managed to fend off several Verstappen attacks, while Gasly managed to overtake Vettel on lap 12. Gasly pitted at the end of that tour for new tyres.
Leclerc and Verstappen boxed a lap later and a great stop from the Red Bull crew got the Dutchman ahead of the Ferrari driver. Unfortunately for Max, an error in the loop section saw him gift the place back to Leclerc. More thrilling tussles followed, but Leclerc somehow held on
Bottas pitted at the end of lap 16 for another set of mediums - but Hamilton stayed out and took the lead.
The race changed massively on lap 20. The Alfa of Antonio Giovinazzi got stuck in the gravel and his race came to an end. A Safety Car was deployed.
Hamilton could make a free stop behind it and maintained the lead. Bottas dropped to 2nd. Sebastian Vettel was the biggest winner as he jumped Leclerc, Gasly and Verstappen as he also benefitted from the Safety Car.
On the restart, Hamilton led Bottas, Vettel, Gasly, Verstappen and Leclerc. In the midfield, Sainz gained places like Hamilton and Vettel to be P7, ahead of Norris.
Immediately Verstappen and Leclerc resumed their fierce battle, with some touching through club and the final section of the track. In the end, the Dutchman held on to retain P5. Hulkenberg and Perez also made contact into Brooklands. The German dropping outside the points, while Perez was forced to pit with front wing damage.
Verstappen cleared Gasly on lap 27 to take P4 from his Red Bull team-mate. It left the order as Hamilton, Bottas, Vettel, Verstappen, Gasly, Leclerc, Sainz, Norris, Ricciardo and Albon.
Charles Leclerc pulled off a magnificent move on Gasly on lap 36 to take 5th - and that soon became P3 as Verstappen and Vettel came to blows a lap later.
Verstappen had overtaken the German using DRS on the hangar straight and ran a little wide. Vettel tried to come back but rammed the Dutchman at Club. Verstappen dropped to 5th, while Vettel had damage and was forced to pit. The German received a 10-second penalty for the incident.
Kimi Raikkonen – who mostly had a quiet race – climbed up to 8th thanks to an overtake on Albon in the closing stages.
Bottas needed to pit for a different compound and did so for a second time with 7 laps to go. The Finn retained P2 ahead of Leclerc.
Ricciardo hounded Sainz in the final few laps to try and be best of the rest – but the Spaniard held on to finish a brilliant P6 from 13th on the grid.
Hamilton thrilled the home fans by taking a fantastic victory as Mercedes collected yet another 1-2 in 2019. Leclerc completed the podium spots.
Gasly, Verstappen, Sainz, Ricciardo, Raikkonen, Kvyat and Albon completed the points scorers following an absorbing race.