The fight raged between the Mercedes and the Red Bull driver throughout the race. Verstappen stayed ahead of Hamilton when the pair pitted, then withstood a fierce attack from his rival as they picked their way through traffic.
The Ferrari drivers never figured in the fight at the front. Sebastian Vettel, who ran a long first stint and then switched to softs, dived down the inside of Charles Leclerc on the penultimate lap to claim the final podium place.
Valtteri Bottas took himself out of contention on the first lap of the race after Hamilton muscled past him at turn three. Leclerc then drew alongside and the pair collided, leaving Bottas with damage. He had to pit early, and after a second pit stop ended the race eighth.
Pierre Gasly lost three places at the start and wasn’t able to recover the position he lost to Carlos Sainz Jnr. The McLaren driver therefore beat him to fifth, while Red Bull reclaimed some of Gasly’s lost places when he pitted.
A slow pit stop for Lando Norris dropped him down the order. He finished behind Kimi Raikkonen and Bottas. Alexander Albon, despite falling victim to a superb pass by Daniil Kvyat early on, claimed the final point.