Once the attacks on the final circuit began, a four-rider group of Ewen Costiou, Alex Baudin, Mikkel Honore and Roma's own Martin Marcellusi went clear. As you would expect however, their leeway was relatively small as
Soudal - Quick-Step, Lidl-Trek, Alpecin-Deceuninck and the Tudor Pro Cycling Team sent riders to the front of the peloton to work. Although they did at one point manage to build up a 40 second lead, with 30km to go, it was already down to just 25 seconds.
The quartet weren't giving up without a fight though and heading into the final 20km, the leaders were still holding a 15 second lead over the bunch who were starting to burn through riders working at the head in an attempt to reel the attackers back in. With the tension rising, there was a crash at the back with 10th placed Michael Storer caught up in the incident. At the other end of the peloton though, the breakaway were finally swept up with around 13km to go as the pace began to increase towards a dramatic crescendo.
With the expected bunch sprint deciding the stage, the fight for positioning at the front was incredibly fierce. With 9km to go though, pre-stage favourite
Jonathan Milan was the victim of an ill-timed mechanical, leaving the Maglia Ciclamino right at the back of the convoy of cars. The pace wasn't relenting at the front either, leaving Milan a tough task to get back to the front of the race before the sprint. Incredibly, with 4.5km to go, Milan reattached at the back of the peloton. There was still a massive job to do to work his way back to the front though and having made such a massive effort, would he have anything left to compete in the sprint?
Into the final 2km, it was Tadej Pogacar himself on the front of the peloton, aiming to help Juan Sebastian Molano. Through the Flamme Rouge though, it was Jonathan Milan's Lidl-Trek who were in prime position. When the sprints opened, Tim Merlier opened things and just about managed to hold off Milan to take his third stage win of this Grand Tour.