Hamilton had started on the medium tyres while Verstappen and Leclerc chose the softs. Despite his theoretically more durable tyres, the Briton pitted on lap 18 to switch to the softs, while Leclerc waited until lap 24 to swap his softs for mediums.
Leclerc came out of the pits from his stop just ahead of Hamilton, who had stronger pace on his softer tyres.
Yet Ferrari chose not to order Leclerc to let Hamilton through to maximise his pace, a decision that was questioned by Hamilton from the car.
A virtual safety car was called on lap 39 and Leclerc and Antonelli, who had chased the Ferraris closely from the start from his fourth place on the grid, took the opportunity for a cheap pit stop – it takes 10 seconds less to stop under a safety car than under racing conditions.
Yet Hamilton, despite having older tyres, did not stop, a decision that promoted him to second behind Verstappen.
As Leclerc was catching Hamilton, the Briton was told he needed to stop again; he pushed back to suggest he try to go to the end, but was told they were six laps short to make it in terms of tyre life.
Leclerc soon caught Hamilton and passed him on lap 46 and set off after Verstappen, but could get no closer than 7.3 seconds to the Red Bull.
Hamilton never did stop, but as his tyres lost grip he fell back into the clutches of Norris and Antonelli.
A passing attempt by Norris on lap 54 with eight to go saw Hamilton run off track and take to the escape road at Turn One, but as he did, Antonelli grabbed the chance to pass the McLaren, and then Hamilton later on the same lap.
Norris followed him through, and now Hamilton fell back towards the second McLaren of Oscar Piastri, who passed him on the final lap after a resolute attempted defence from Hamilton.
It was Hamilton’s call not to stop and he apologised for it on the slowing down lap – but there remain a number of questions as to the choices made.
Russell’s fight back through the field took him up to seventh as he delayed his pit stop as long as possible.
But after dropping back to 10th behind Audi’s Nico Hulkenberg and Alpine’s Pierre Gasly, he passed Gasly after trailing him for 10 laps or so, but could not make it past Hulkenberg, who was himself chasing Racing Bulls’ Liam Lawson.
Red Bull’s Isack Hadjar took the final point in 10th after starting from the back.
