Vettel was denied his first win for Ferrari in 2019 after a five second penalty handed victory to Mercedes’ Hamilton.
Despite leading start to finish, the German was given a time penalty after running wide at the first chicane and almost hitting Hamilton while rejoining.
Vettel kept Hamilton at arms length for the first half of the race, but came under pressure later on. Stronger pace on the hard tyres meant he caught up to the Ferrari and within DRS range, but briefly lost time due to a lock up. When the gap closed once more, Vettel briefly lost the back end of the car and went wide at the chicane, almost causing a collision when rejoining. Hamilton backed out to avoid this, but the incident was under investigation by the stewards.
At this point Hamilton just needed to stay within five seconds, which he did, finishing just 1.4s behind at the final flag.
Charles Leclerc finished in the final podium place for Ferrari, ahead of Bottas and Verstappen, with the Renaults of Ricciardo and Hulkenberg an impressive 6th and 7th.
Gasly finished 8th with Stroll ending up 9th, a much improved result at his home grand prix. Kvyat rounded out the points in 10th.
The hot temperatures of the day caused issues for most of the team, especially with braking, even so, there were only two DNFs with Norris stopping after 9 laps and Albon 11 laps from the end.