It didn’t take long for Alonso to start challenging to take second place back, and was right underneath Hamilton’s rear wing by lap five.
A virtual safety car briefly paused the battle — as the Williams of Logan Sargeant, who had been told to stop the car, was recovered.
Nico Hülkenberg, who had qualified second before a penalty dropped him to fifth on the grid, was running seventh at this point at the head of a long train of ten cars, unable to overtake each other.
He benefitted from lucky timing when the red flag was waved just after setting his fastest lap in qualifying on Saturday, but his good fortune ran out when he was called in to the pits just before Russell hit the wall on lap 12.
The Mercedes bounced over a kerb, the rear swung out and slammed into the wall, rotating the car so that the front then swiped it too.
The ailing car limped back to the pits, leaving a trail of shattered carbon fibre in its wake, which brought out the safety car.
Most drivers took the chance to pit while cars were lapping slowly and Hülkenberg lost out, slipping to 15th.
The top three all changed tyres and remained in position — only just as Alonso had to slam on his brakes to avoid Hamilton who had been released into his path.
Both Ferrari drivers remained on their medium tyres, however and took the restart with Leclerc fourth and Sainz fifth, ahead of Perez, Kevin Magnussen, Valtteri Bottas and Esteban Ocon, who also had not stopped.
Meanwhile Russell made it back to the pits and was sent out with a new nose, running 19th and last.
Alonso took advantage of the pack being closed up to pass Hamilton at the restart. He pulled alongside the Mercedes at the end of lap 22 and seized the inside line into the final chicane.
But Hamilton wasn’t prepared to give up and sat inches from Alonso’s rear wig down the start-finish straight and into Turn 1.
Alonso placed the car perfectly and started to pull out a gap, but it was a fight that looked to have potential.