By covering off Gasly's line, Hamilton had an easy time in the long, right-hand Turn 1, with Gasly and Alonso trailing in his wake – while behind Verstappen, who had shot immediately past the slow-starting Valtteri Bottas, the pair starting sixth and seventh thanks to their grid penalties, followed Lando Norris and Carlos Sainz into the first corner.
As that pair went deep, Verstappen got ahead on the inside and had enough momentum to draw alongside Alonso, who swung across unsighted and forced the Red Bull to move half onto the AstroTurf runoff and back off into the long left-hand Turn 2.
But Verstappen managed to stay ahead of Norris and chase on after the leaders, with Alonso, up ahead, then fighting by Gasly into Turn 3.
Hamilton finished the first lap of 57 1.8s clear of his former McLaren teammate and he continued to pull clear as Verstappen complained he was "stuck" behind Gasly.
The AlphaTauri driver went wide at the final corner at the end of lap three – possibly in a stage-managed manoeuvre to allow his stablemate by, with Verstappen easily nipping ahead as they ran down the pit straight to start the fourth lap.
At the end of that tour, Verstappen closed on Alonso using DRS and on lap five was easily ahead of the Alpine by the Turn 1 braking zone, already facing a 4.4s deficit to Hamilton.
F1's leading pair promptly disappeared ahead of Alonso, who was nearly 20s off the lead by the end of the race's first 10 laps, but during this phase Verstappen reported possible front wing damage after a heavy kerb strike during the initial laps after he had reached second.
Red Bull first reported that everything looked out, but Verstappen reporting lift-off oversteer going through Turn 1 was put down to likely front wing endplate damage.
He was initially able to match Hamilton in the mid-1m23s, but as the Mercedes driver increased his pace and reached the high 1m27s, the Dutchman could not keep up and began to steadily fall further back.
The gap between the leaders was close to 10s when Red Bull brought Verstappen in at the end of lap 17 to switch from the mediums he and Hamilton had started on to take the hards – rejoining just in front of the yet-to-stop Alonso.
Mercedes brought Hamilton in the following lap, despite the world champion insisting his tyres were "good" and saying "don't stop me too early" – the leader also moving to the hards as his team mirrored Verstappen's strategy.
The earlier stop helped Verstappen shave a chunk from Hamilton's lead, which stood at 8.3s at the end of the Mercedes driver's out-lap.
From there, the pair traded fastest laps across the next phase of the race, with Verstappen steadily working the gap between them down to 6.7s just past half-distance, after insisting to Red Bull they should "have a bit of fun" pushing on with second place already secure.
The main focus for the majority of the race had became about who would finish third, with Alonso holding onto the final podium spot throughout the opening stint.
He came in on to switch from softs to hards on lap 23, rejoining just in front of Ricciardo, who was yet to come in, and the charging Sergio Perez, who had already come in to go from mediums to hards as part of his rise from 11th on the grid.
Alonso defied Perez for a few laps – including as they passed the long-running Charles Leclerc, who locked up when Alonso attacked at Turn 1 and went deep after moving to defend late against the Alpine – with the Mexican then getting by in a close wheel-to-wheel battle through the opening two corners on lap 29.
But Bottas was also a consideration for Perez as he had heeded Toto Wolff's rallying call to get stuck in amongst the cars that had passed him on his fall to 11th off the line, with Mercedes then leaving him out on the mediums until five laps past the halfway point.
On lap 33, Bottas suffered a sudden left-front puncture as he approached the Turn 6 hairpin, with the Finn the dropping into the gravel as he struggled to control his W12 in scenes similar to the end of the 2020 British GP.
He had to do nearly a whole lap with the tyre deflated, dropping behind Perez and Alonso, and raising concerns for the leaders.
With both Hamilton and Verstappen reporting vibrations on their hards approaching the final 15 laps, Red Bull kicked off the second round of stops for the leaders by pitting Verstappen at the end of lap 41 and Hamilton coming in again at the end of the following tour.
As they went back to the mediums, the gap between them 8.4s having been going back towards 10s before Verstappen stopped, their focus became about trying to claim the fastest lap bonus point.
In the race for third, Perez had come in on the same lap as Verstappen and had to battle his way past several cars trying to hold on on the one-stopper despite the puncture threat.
This included Alonso, Norris and Esteban Ocon in the second Alpine, who was asked to defend as aggressively against Perez when he rose back up the order as his teammate had late in the Hungarian GP to save the team's win against a charging Hamilton.
After passing Lance Stroll a few laps after emerging from his second stop, which he complained about getting on his radio, on lap 47, Perez used DRS to get a run on Ocon down the pit straight.
Ocon defended the inside but Perez rocketed around the outside and although Ocon attacked back into Turn 2 and Turn 4 he was unable to get back ahead.
That set-up a showdown for the final spot on the podium, with Perez still needing to pass Norris and catch Alonso, but a spate of late punctures meant the battle was ultimately neutered.
Although Russell had been able to limp back to the pits, Latifi stopped at the Turn 6 hairpin and a short while later – just after Norris had come in with his own suspected puncture – the virtual safety car was activated.
Red Bull pitted Verstappen for a third time and he rejoined so far back from Hamilton that he still had a full final lap to go when the race went green again with the leader well into his final tour.
That meant that even though Verstappen already held the fastest lap after he and Hamilton exchanged it during the early laps on their second set of mediums – Verstappen's third stint – he used the softs he had been given to seal the fastest lap with a 1m23.196s as he took the chequered flag 25.7s behind his title rival.
The VSC prevented Perez from carving into Alonso's advantage and meant the Spaniard did not have to abandon his one-stopper.
Alonso therefore held on take the first podium of his F1 comeback by 2.8s in front of Perez, with Ocon and Stroll following them home.
The Ferrari pair were in a ones-stoppers' DRS train behind Ocon before the VSC and they stayed their even as the race resumed late on to take seventh and eighth as the last lapped runners.
Norris's late stop meant he dropped to ninth, with Sebastian Vettel taking the final point – his one-stopper combining with the VSC to help him again ground after falling back at the start.
The VSC also thwarted Gasly's attempts to make his two-stopper work, the AlphaTauri driver one of the first to stop in the first stint and being unable to follow Perez through the one-stoppers.
Russell ended up 17th while Mercedes retired Bottas in the pits just before the late-puncture drama.