Despite the lack of numbers in the break, the peloton were keeping things on a tight leash. That gap was brought even shorter at the intermediate sprint as Jonathan Milan led the peloton across the line ahead of Kaden Groves. With 100km to go, the leading trio were holding an advantage of just 1:26.
After the second intermediate sprint, Groves taking the most of the scraps on offer for the peloton on this occasion, the peloton were just 20 seconds behind the breakaway. Although the peloton put the breaks on slightly as to not catch them too soon, the inevitable capture was completed with 35km to go.
With bonus seconds on offer at the intermediate sprint, Geraint Thomas was the only notable name to get himself in the mix, pinching 2 extra seconds in the GC, closing the gap to second-placed Daniel Martinez in the process. Although things were relatively calm in the bunch, an attack from Andrea Piccolo brought a moment of stress with Felix Grossschartner a victim of the rise in tension, crashing off road.
A technical and actually rather dangerous finale, all the GC riders and sprint teams were fighting hard for position at the front. Benefitting from a tailwind, the pace was high too. All the GC riders managed to get through the 3km marker safely though thankfully.
Taking over from INEOS Grenadiers at the front for the sprint, Team Jayco AlUla, working for Caleb Ewan, and Alpecin-Deceuninck for Kaden Groves, were controlling things at the front under the flamme rouge. In the sprint though,
Tim Merlier opened things up but right at the line, Jonathan Milan powered around to take the victory in the Maglia Ciclamino.