
Sunday, July 13: Stage 9: Chinon - Châteauroux, 174.1 km
Stage 9 map & profile | Stage 9 photos

Tim Merlier win stage nine. Arnaud Die Lie (Lotto) does not look happy about that.
Les Woodland's book Cycling's 50 Triumphs and Tragedies: The rise and fall of bicycle racing's champions is available in print, Kindle eBook & audiobook versions. To get your copy, just click on the Amazon link on the right.
Rated ascents: This stage has no rated ascents.
Weather at the finish city of Châteauroux at 2:10 PM, local time: 28C (83F), sunny, with the wind from the southwest at 23 km/hr (14 mph). No rain is forecast.
The stage: Tour boss Christian Prudhomme writes: The teams banking on a bunch sprint won’t be hampered by any hilly terrain as they focus on their mission for the day. Vigilance will be required at the end of the stage due to the changes in direction that could be exploited if there’s a strong wind blowing. However, “Avenue Cavendish” is one of those finish straights that’s ideally suited to a contest between the peloton’s most renowned thoroughbreds.
The race: 176 riders began stage 9 at 1:25 PM.
Here's the race organizer's stage nine summary:
A thrilling stage 9 of the Tour de France 2025, covered at 50.0 km/h, with Mathieu Van der Poel (Alpecin-Deceuninck) and the peloton battling through the wind, eventually saw Tim Merlier (Soudal Quick-Step) sprint to victory in Châteauroux. After spending the whole stage at the front, the Oranje attacker was caught inside the last kilometre, and the Belgian sprinter ultimately got the better of Jonathan Milan (Lidl-Trek) and Arnaud De Lie (Lotto) on the line. He succeeds Mark Cavendish, winner of the last three Tour stages finishing in Châteauroux (2008, 2011 and 2021).
With Merlier’s win in Dunkirk and Remco Evenepoel’s in Caen, this is Soudal Quick-Step’s third success in the Tour. The last time they grabbed that many was in 2021… That year, their third win already came in Châteauroux, thanks to Cavendish. Monday won’t be a rest day, as fireworks are expected on 14 July with a climbing-packed course through the Massif Central.
The race:
Back to back opportunities for the sprinters? After Jonathan Milan’s success in Laval, a flat course (174.1km, 1,400m of elevation) takes the peloton form Chinon to Châteauroux, aka “Cavendish City” after the Manx missile claimed three of his record 35 stage wins here, including his first, back in 2008.
MVDP changes the script
Alpecin-Deceuninck disrupt the expected scenario as Jonas Rickaert attacks as soon as the peloton pass km 0. He is rapidly joined at the front by his leader Mathieu Van der Poel. The Flying Dutchman scores 20 points at the intermediate sprint (km 24.2). At that point, the peloton trail by 3’45’’ under the guidance of Lidl-Trek… And the lead duo don’t wait for them.
J. Jonas Rickaert & Mathieu van der Poel attacked from the gun. Fifty kilometers into the stage the pair had a lead of 5min 35sec.
The gap hits a maximum of 5’35’’ when the race reaches Châtellerault (km 46.2), hometown of a modern hero of the Tour, Sylvain Chavanel, who holds the record for most participations (18 consecutive, from 2001 until 2008). In the bunch, a crash involves sprinters like Sam Watson (Ineos Grenadiers), Soren Waerenskjold (Uno-X Mobility) and Pavel Bittner (Picnic PostNL).
Merlier rules a thrilling finale
Rickaert and Van der Poel accelerate again in the second hour - 50.5 kilometres! In the peloton, Uno-X Mobility lend a hand to Lidl-Trek. And the wind incites several accelerations that prove too much for Joao Almeida (UAE Team Emirates-XRG), forced to retire a couple of days after his crash en route to Mûr-de-Bretagne (stage 7).
Visma-Lease a Bike put the hammer down on a wind-exposed section with 33 kilometres to go. The bunch explodes but the situation settles again. These accelerations bring the gap down to 55’’ with 20 kilometres to go. But the peloton slow down and the gap is back up to 1’20’’ into the last 15 kilometres.
The battle is brutal and Rickaert is done with 6 kilometres to go. Van der Poel is still 30 seconds away at that point. He’s eventually caught inside the last kilometre. Jonathan Milan smashes the pedals, just like he did in Laval. But this time, he’s beaten by Tim Merlier, claiming Soudal Quick-Step’s third win this year.
Complete results:
174.1 kilometers raced at an average speed of 50.013 km/hr! Second fastest in Tour history. The fastest was 1999 Tour stage 4, which was 50.36 km/hr.
| 1 | Tim Merlier | Soudal Quick-Step | 3hr 28min 52sec |
| 2 | Jonathan Milan | Lidl-Trek | s.t. |
| 3 | Arnaud De Lie | Lotto | s.t. |
| 4 | Pavel Bittner | Team Picnic PostNL | s.t. |
| 5 | Paul Penhoët | Groupama-FDJ | s.t. |
| 6 | Biniam Girmay | Intermarché-Wanty | s.t. |
| 7 | Phil Bauhaus | Bahrain Victorious | s.t. |
| 8 | Jordi Meeus | Red Bull-BORA-hansgrohe | s.t. |
| 9 | Stian Fredheim | Uno-X Mobility | s.t. |
| 10 | Kaden Groves | Alpecin-Deceuninck | s.t. |
| 11 | Alexis Renard | Cofidis | s.t. |
| 12 | Pascal Ackermann | Israel-Premier Tech | s.t. |
| 13 | Arnaud Démare | Arkea-B&B Hotels | s.t. |
| 14 | Anthony Turgis | Team TotalEnergies | s.t. |
| 15 | Dylan Groenewegen | Team Jayco-AlUla | s.t. |
| 16 | Alberto Dainese | Tudor Pro Cycling Team | s.t. |
| 17 | Bastien Tronchon | Decathlon AG2R La Mondiale | s.t. |
| 18 | Matteo Trentin | Tudor Pro Cycling Team | s.t. |
| 19 | Danny van Poppel | Red Bull-BORA-hansgrohe | s.t. |
| 20 | Cees Bol | XDS Astana Team | s.t. |
| 21 | Bryan Coquard | Cofidis | s.t. |
| 22 | Yevgeniy Fedorov | XDS Astana Team | s.t. |
| 23 | Iván García Cortina | Movistar Team | s.t. |
| 24 | Guillaume Martin-Guyonnet | Groupama-FDJ | s.t. |
| 25 | Carlos Rodriguez | INEOS Grenadiers | s.t. |
| 26 | Tadej Pogacar | UAE Team Emirates-XRG | s.t. |
| 27 | Jonas Vingegaard | Team Visma | Lease a Bike | s.t. |
| 28 | Frank van den Broek | Team Picnic PostNL | s.t. |
| 29 | Mathis Le Berre | Arkea-B&B Hotels | s.t. |
| 30 | Remco Evenepoel | Soudal Quick-Step | s.t. |
| 31 | Jake Stewart | Israel-Premier Tech | s.t. |
| 32 | Kévin Vauquelin | Arkea-B&B Hotels | s.t. |
| 33 | Tobias Halland Johannessen | Uno-X Mobility | s.t. |
| 34 | Primoz Roglic | Red Bull-BORA-hansgrohe | s.t. |
| 35 | Sam Watson | INEOS Grenadiers | s.t. |
| 36 | Florian Lipowitz | Red Bull-BORA-hansgrohe | s.t. |
| 37 | Mike Teunissen | XDS Astana Team | s.t. |
| 38 | Mattias Skjelmose | Lidl-Trek | s.t. |
| 39 | Oliver Naesen | Decathlon AG2R La Mondiale | s.t. |
| 40 | Enric Mas | Movistar Team | s.t. |
| 41 | Thomas Gachignard | Team TotalEnergies | s.t. |
| 42 | Clément Berthet | Decathlon AG2R La Mondiale | s.t. |
| 43 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 44 | Callum Scotson | Decathlon AG2R La Mondiale | s.t. |
| 45 | Ben Healy | EF Education-EasyPost | s.t. |
| 46 | Aurélien Paret-Peintre | Decathlon AG2R La Mondiale | s.t. |
| 47 | Jordan Jegat | Team TotalEnergies | s.t. |
| 48 | Felix Gall | Decathlon AG2R La Mondiale | s.t. |
| 49 | Oscar Onley | Team Picnic PostNL | s.t. |
| 50 | Warren Barguil | Team Picnic PostNL | s.t. |
| 51 | Axel Laurance | INEOS Grenadiers | s.t. |
| 52 | Bert Van Lerberghe | Soudal Quick-Step | s.t. |
| 53 | Matis Louvel | Israel-Premier Tech | s.t. |
| 54 | Emanuel Buchmann | Cofidis | s.t. |
| 55 | Brent Van Moer | Lotto | s.t. |
| 56 | Jasper Stuyven | Lidl-Trek | s.t. |
| 57 | Neilson Powless | EF Education-EasyPost | s.t. |
| 58 | Markus Hoelgaard | Uno-X Mobility | s.t. |
| 59 | Gianni Moscon | Red Bull-BORA-hansgrohe | s.t. |
| 60 | Guillaume Boivin | Israel-Premier Tech | s.t. |
| 61 | Krists Neilands | Israel-Premier Tech | s.t. |
| 62 | Tobias Lund Andresen | Team Picnic PostNL | s.t. |
| 63 | Clément Russo | Groupama-FDJ | s.t. |
| 64 | Wout van Aert | Team Visma | Lease a Bike | @ 17sec |
| 65 | Cyril Barthe | Groupama-FDJ | s.t. |
| 66 | Victor Campenaerts | Team Visma | Lease a Bike | s.t. |
| 67 | Jarrad Drizners | Lotto | s.t. |
| 68 | Mathieu van der Poel | Alpecin-Deceuninck | s.t. |
| 69 | Vincenzo Albanese | EF Education-EasyPost | s.t. |
| 70 | Alex Aranburu | Cofidis | s.t. |
| 71 | Luka Mezgec | Team Jayco-AlUla | s.t. |
| 72 | Laurenz Rex | Intermarché-Wanty | s.t. |
| 73 | Matej Mohoric | Bahrain Victorious | s.t. |
| 74 | Romain Grégoire | Groupama-FDJ | s.t. |
| 75 | Tiesj Benoot | Team Visma | Lease a Bike | s.t. |
| 76 | Aleksandr Vlasov | Red Bull-BORA-hansgrohe | s.t. |
| 77 | Eduardo Sepulveda | Lotto | s.t. |
| 78 | Jenno Berckmoes | Lotto | s.t. |
| 79 | Jhonatan Narvaez | UAE Team Emirates-XRG | s.t. |
| 80 | Kasper Asgreen | EF Education-EasyPost | s.t. |
| 81 | Elmar Reinders | Team Jayco-AlUla | s.t. |
| 82 | Edward Theuns | Lidl-Trek | s.t. |
| 83 | Silvan Dillier | Alpecin-Deceuninck | s.t. |
| 84 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 85 | Ion Izagirre | Cofidis | s.t. |
| 86 | Thymen Arensman | INEOS Grenadiers | s.t. |
| 87 | Kamil Gradek | Bahrain Victorious | s.t. |
| 88 | Fred Wright | Bahrain Victorious | 0:41 |
| 89 | Hugo Page | Intermarché-Wanty | 0:49 |
| 90 | Clément Venturini | Arkea-B&B Hotels | s.t. |
| 91 | Alexandre Delettre | Team TotalEnergies | 0:54 |
| 92 | Robert Stannard | Bahrain Victorious | 1:04 |
| 93 | Damien Touzé | Cofidis | 1:07 |
| 94 | Vito Braet | Intermarché-Wanty | 1:12 |
| 95 | Marius Mayrhofer | Tudor Pro Cycling Team | s.t. |
| 96 | Andreas Leknessund | Uno-X Mobility | s.t. |
| 97 | Xandro Meurisse | Alpecin-Deceuninck | s.t. |
| 98 | Pascal Eenkhoorn | Soudal Quick-Step | s.t. |
| 99 | Dylan Teuns | Cofidis | s.t. |
| 100 | Nelson Oliveira | Movistar Team | s.t. |
| 101 | Michael Valgren | EF Education-EasyPost | 1:22 |
| 102 | Quentin Pacher | Groupama-FDJ | s.t. |
| 103 | Ilan Van Wilder | Soudal Quick-Step | 1:44 |
| 104 | Amaury Capiot | Arkea-B&B Hotels | s.t. |
| 105 | Magnus Cort | Uno-X Mobility | s.t. |
| 106 | Geraint Thomas | INEOS Grenadiers | 1:52 |
| 107 | Connor Swift | INEOS Grenadiers | s.t. |
| 108 | Harry Sweeny | EF Education-EasyPost | s.t. |
| 109 | Alex Baudin | EF Education-EasyPost | s.t. |
| 110 | Emiel Verstrynge | Alpecin-Deceuninck | 2:06 |
| 111 | Quinn Simmons | Lidl-Trek | 2:20 |
| 112 | Marc Soler | UAE Team Emirates-XRG | s.t. |
| 113 | Laurence Pithie | Red Bull-BORA-hansgrohe | s.t. |
| 114 | Lewis Askey | Groupama-FDJ | s.t. |
| 115 | Edoardo Affini | Team Visma | Lease a Bike | 2:43 |
| 116 | Simone Consonni | Lidl-Trek | s.t. |
| 117 | Jonas Rickaert | Alpecin-Deceuninck | 3:03 |
| 118 | Sébastien Grignard | Lotto | 4:08 |
| 119 | Sean Flynn | Team Picnic PostNL | 4:37 |
| 120 | Valentin Paret-Peintre | Soudal Quick-Step | 5:39 |
| 121 | Max Schachmann | Soudal Quick-Step | 6:58 |
| 122 | Nils Politt | UAE Team Emirates-XRG | s.t. |
| 123 | Jonas Rutsch | Intermarché-Wanty | s.t. |
| 124 | Davide Ballerini | XDS Astana Team | s.t. |
| 125 | Anders Halland Johannessen | Uno-X Mobility | s.t. |
| 126 | Søren Wærenskjold | Uno-X Mobility | s.t. |
| 127 | Bruno Armirail | Decathlon AG2R La Mondiale | s.t. |
| 128 | Michael Storer | Tudor Pro Cycling Team | s.t. |
| 129 | Michael Woods | Israel-Premier Tech | s.t. |
| 130 | Marco Haller | Tudor Pro Cycling Team | s.t. |
| 131 | Fabian Lienhard | Tudor Pro Cycling Team | s.t. |
| 132 | Julian Alaphilippe | Tudor Pro Cycling Team | s.t. |
| 133 | Pablo Castrillo | Movistar Team | s.t. |
| 134 | Iván Romeo | Movistar Team | s.t. |
| 135 | Steff Cras | Team TotalEnergies | s.t. |
| 136 | Niklas Märkl | Team Picnic PostNL | s.t. |
| 137 | Tim Naberman | Team Picnic PostNL | s.t. |
| 138 | Roel van Sintmaartensdijk | Intermarché-Wanty | s.t. |
| 139 | Ben O'Connor | Team Jayco-AlUla | s.t. |
| 140 | Luke Durbridge | Team Jayco-AlUla | s.t. |
| 141 | Mauro Schmid | Team Jayco-AlUla | s.t. |
| 142 | Lucas Plapp | Team Jayco-AlUla | s.t. |
| 143 | Einer Rubio | Movistar Team | s.t. |
| 144 | Cristian Rodriguez | Arkea-B&B Hotels | s.t. |
| 145 | Valentin Madouas | Groupama-FDJ | s.t. |
| 146 | Simon Yates | Team Visma | Lease a Bike | s.t. |
| 147 | Adam Yates | UAE Team Emirates-XRG | s.t. |
| 148 | Joe Blackmore | Israel-Premier Tech | s.t. |
| 149 | Marc Hirschi | Tudor Pro Cycling Team | s.t. |
| 150 | Lenny Martinez | Bahrain Victorious | s.t. |
| 151 | Ewen Costiou | Arkea-B&B Hotels | s.t. |
| 152 | Georg Zimmermann | Intermarché-Wanty | s.t. |
| 153 | Toms Skujins | Lidl-Trek | s.t. |
| 154 | William Barta | Movistar Team | s.t. |
| 155 | Gregor Mühlberger | Movistar Team | s.t. |
| 156 | Tobias Foss | INEOS Grenadiers | s.t. |
| 157 | Jonas Abrahamsen | Uno-X Mobility | s.t. |
| 158 | Marijn van den Berg | EF Education-EasyPost | s.t. |
| 159 | Mick van Dijke | Red Bull-BORA-hansgrohe | s.t. |
| 160 | Raúl García | Arkea-B&B Hotels | s.t. |
| 161 | Louis Barré | Intermarché-Wanty | s.t. |
| 162 | Clément Champoussin | XDS Astana Team | s.t. |
| 163 | Simone Velasco | XDS Astana Team | s.t. |
| 164 | Alexey Lutsenko | Israel-Premier Tech | s.t. |
| 165 | Pavel Sivakov | UAE Team Emirates-XRG | s.t. |
| 166 | Harold Tejada | XDS Astana Team | s.t. |
| 167 | Sergio Higuita | XDS Astana Team | s.t. |
| 168 | Santiago Buitrago | Bahrain Victorious | s.t. |
| 169 | Mattéo Vercher | Team TotalEnergies | s.t. |
| 170 | Mathieu Burgaudeau | Team TotalEnergies | s.t. |
| 171 | Gianni Vermeersch | Alpecin-Deceuninck | s.t. |
| 172 | Thibau Nys | Lidl-Trek | s.t. |
| 173 | Lennert Van Eetvelt | Lotto | s.t. |
| 174 | Benjamin Thomas | Cofidis | s.t. |
| 175 | Tim Wellens | UAE Team Emirates-XRG | s.t. |
GC after stage 9:
1,520.7 kilometers raced so far at an average speed of 45.681 km/hr
| 1 | Tadej Pogacar | UAE Team Emirates-XRG | 33hr 17min 22sec |
| 2 | Remco Evenepoel | Soudal Quick-Step | @ 54sec |
| 3 | Kévin Vauquelin | Arkea-B&B Hotels | 1:11 |
| 4 | Jonas Vingegaard | Team Visma | Lease a Bike | 1:17 |
| 5 | Matteo Jorgenson | Team Visma | Lease a Bike | 1:34 |
| 6 | Mathieu van der Poel | Alpecin-Deceuninck | 1:46 |
| 7 | Oscar Onley | Team Picnic PostNL | 2:49 |
| 8 | Florian Lipowitz | Red Bull-BORA-hansgrohe | 3:02 |
| 9 | Primoz Roglic | Red Bull-BORA-hansgrohe | 3:06 |
| 10 | Mattias Skjelmose | Lidl-Trek | 3:43 |
| 11 | Ben Healy | EF Education-EasyPost | 3:55 |
| 12 | Tobias Halland Johannessen | Uno-X Mobility | 4:28 |
| 13 | Enric Mas | Movistar Team | 4:35 |
| 14 | Felix Gall | Decathlon AG2R La Mondiale | 4:49 |
| 15 | Carlos Rodriguez | INEOS Grenadiers | 4:51 |
| 16 | Jordan Jegat | Team TotalEnergies | 5:39 |
| 17 | Aurélien Paret-Peintre | Decathlon AG2R La Mondiale | 7:23 |
| 18 | Guillaume Martin-Guyonnet | Groupama-FDJ | 8:13 |
| 19 | Jhonatan Narvaez | UAE Team Emirates-XRG | 8:28 |
| 20 | Emanuel Buchmann | Cofidis | 8:35 |
| 21 | Tiesj Benoot | Team Visma | Lease a Bike | 10:16 |
| 22 | Romain Grégoire | Groupama-FDJ | 11:09 |
| 23 | Jenno Berckmoes | Lotto | 11:40 |
| 24 | Xandro Meurisse | Alpecin-Deceuninck | 14:22 |
| 25 | Ben O'Connor | Team Jayco-AlUla | 15:23 |
| 26 | Neilson Powless | EF Education-EasyPost | 16:58 |
| 27 | Warren Barguil | Team Picnic PostNL | 17:01 |
| 28 | Valentin Madouas | Groupama-FDJ | 17:26 |
| 29 | Cristian Rodriguez | Arkea-B&B Hotels | 17:50 |
| 30 | Quentin Pacher | Groupama-FDJ | 17:51 |
| 31 | Sepp Kuss | Team Visma | Lease a Bike | 18:13 |
| 32 | Alexandre Delettre | Team TotalEnergies | 18:43 |
| 33 | Clément Berthet | Decathlon AG2R La Mondiale | 19:09 |
| 34 | Axel Laurance | INEOS Grenadiers | 19:38 |
| 35 | Clément Venturini | Arkea-B&B Hotels | 20:23 |
| 36 | Pascal Eenkhoorn | Soudal Quick-Step | 22:20 |
| 37 | Markus Hoelgaard | Uno-X Mobility | 22:26 |
| 38 | Steff Cras | Team TotalEnergies | 22:46 |
| 39 | Tim Wellens | UAE Team Emirates-XRG | 24:09 |
| 40 | Aleksandr Vlasov | Red Bull-BORA-hansgrohe | 24:09 |
| 41 | Ilan Van Wilder | Soudal Quick-Step | 24:47 |
| 42 | Simon Yates | Team Visma | Lease a Bike | 24:58 |
| 43 | Callum Scotson | Decathlon AG2R La Mondiale | 25:05 |
| 44 | Alex Baudin | EF Education-EasyPost | 25:15 |
| 45 | Santiago Buitrago | Bahrain Victorious | 25:28 |
| 46 | Harry Sweeny | EF Education-EasyPost | 25:35 |
| 47 | Thymen Arensman | INEOS Grenadiers | 26:00 |
| 48 | Geraint Thomas | INEOS Grenadiers | 26:01 |
| 49 | Wout van Aert | Team Visma | Lease a Bike | 26:47 |
| 50 | Matteo Trentin | Tudor Pro Cycling Team | 27:21 |
| 51 | Jasper Stuyven | Lidl-Trek | 28:38 |
| 52 | Oliver Naesen | Decathlon AG2R La Mondiale | 28:48 |
| 53 | Joe Blackmore | Israel-Premier Tech | 29:19 |
| 54 | Tobias Lund Andresen | Team Picnic PostNL | 30:06 |
| 55 | Frank van den Broek | Team Picnic PostNL | 30:21 |
| 56 | Sergio Higuita | XDS Astana Team | 30:25 |
| 57 | Victor Campenaerts | Team Visma | Lease a Bike | 30:26 |
| 58 | Bastien Tronchon | Decathlon AG2R La Mondiale | 30:36 |
| 59 | Nelson Oliveira | Movistar Team | 30:38 |
| 60 | Alex Aranburu | Cofidis | 31:19 |
| 61 | Simone Velasco | XDS Astana Team | 31:24 |
| 62 | Thomas Gachignard | Team TotalEnergies | 32:33 |
| 63 | Toms Skujins | Lidl-Trek | 33:48 |
| 64 | Adam Yates | UAE Team Emirates-XRG | 34:23 |
| 65 | Quinn Simmons | Lidl-Trek | 34:36 |
| 66 | Cyril Barthe | Groupama-FDJ | 34:47 |
| 67 | Ion Izagirre | Cofidis | 35:09 |
| 68 | Krists Neilands | Israel-Premier Tech | 35:32 |
| 69 | Mathieu Burgaudeau | Team TotalEnergies | 35:45 |
| 70 | Alexey Lutsenko | Israel-Premier Tech | 36:31 |
| 71 | Marc Soler | UAE Team Emirates-XRG | 37:12 |
| 72 | Gregor Mühlberger | Movistar Team | 37:16 |
| 73 | Gianni Moscon | Red Bull-BORA-hansgrohe | 37:47 |
| 74 | Kasper Asgreen | EF Education-EasyPost | 38:22 |
| 75 | Julian Alaphilippe | Tudor Pro Cycling Team | 39:06 |
| 76 | Raúl García | Arkea-B&B Hotels | 40:08 |
| 77 | Andreas Leknessund | Uno-X Mobility | 40:19 |
| 78 | Bruno Armirail | Decathlon AG2R La Mondiale | 40:44 |
| 79 | Tobias Foss | INEOS Grenadiers | 41:48 |
| 80 | Max Schachmann | Soudal Quick-Step | 42:13 |
| 81 | Damien Touzé | Cofidis | 43:02 |
| 82 | Clément Champoussin | XDS Astana Team | 43:10 |
| 83 | Iván García Cortina | Movistar Team | 43:14 |
| 84 | Laurence Pithie | Red Bull-BORA-hansgrohe | 43:22 |
| 85 | Robert Stannard | Bahrain Victorious | 43:25 |
| 86 | Marc Hirschi | Tudor Pro Cycling Team | 44:39 |
| 87 | Connor Swift | INEOS Grenadiers | 45:04 |
| 88 | Mathis Le Berre | Arkea-B&B Hotels | 45:18 |
| 89 | Dylan Teuns | Cofidis | 45:23 |
| 90 | Bryan Coquard | Cofidis | 45:37 |
| 91 | Kaden Groves | Alpecin-Deceuninck | 46:25 |
| 92 | Marius Mayrhofer | Tudor Pro Cycling Team | 47:01 |
| 93 | Thibau Nys | Lidl-Trek | 47:15 |
| 94 | Matis Louvel | Israel-Premier Tech | 47:46 |
| 95 | Mike Teunissen | XDS Astana Team | 48:15 |
| 96 | Fred Wright | Bahrain Victorious | 48:21 |
| 97 | Emiel Verstrynge | Alpecin-Deceuninck | 48:28 |
| 98 | Michael Valgren | EF Education-EasyPost | 48:43 |
| 99 | Michael Woods | Israel-Premier Tech | 49:58 |
| 100 | Harold Tejada | XDS Astana Team | 50:28 |
| 101 | Brent Van Moer | Lotto | 50:33 |
| 102 | Vincenzo Albanese | EF Education-EasyPost | 50:45 |
| 103 | Matej Mohoric | Bahrain Victorious | 50:46 |
| 104 | Anthony Turgis | Team TotalEnergies | 50:51 |
| 105 | Anders Halland Johannessen | Uno-X Mobility | 51:28 |
| 106 | Pavel Sivakov | UAE Team Emirates-XRG | 51:46 |
| 107 | Valentin Paret-Peintre | Soudal Quick-Step | 51:47 |
| 108 | Marco Haller | Tudor Pro Cycling Team | 52:33 |
| 109 | Mauro Schmid | Team Jayco-AlUla | 52:48 |
| 110 | Jonas Abrahamsen | Uno-X Mobility | 53:09 |
| 111 | Gianni Vermeersch | Alpecin-Deceuninck | 54:22 |
| 112 | Louis Barré | Intermarché-Wanty | 54:57 |
| 113 | Iván Romeo | Movistar Team | 55:03 |
| 114 | Jonas Rickaert | Alpecin-Deceuninck | 56:41 |
| 115 | Georg Zimmermann | Intermarché-Wanty | 57:15 |
| 116 | Ewen Costiou | Arkea-B&B Hotels | 57:26 |
| 117 | Nils Politt | UAE Team Emirates-XRG | 58:44 |
| 118 | Clément Russo | Groupama-FDJ | 58:50 |
| 119 | William Barta | Movistar Team | 58:55 |
| 120 | Paul Penhoët | Groupama-FDJ | 59:01 |
| 121 | Pascal Ackermann | Israel-Premier Tech | 59:25 |
| 122 | Danny van Poppel | Red Bull-BORA-hansgrohe | 59:43 |
| 123 | Einer Rubio | Movistar Team | 1:00:14 |
| 124 | Sam Watson | INEOS Grenadiers | 1:00:16 |
| 125 | Lucas Plapp | Team Jayco-AlUla | 1:01:26 |
| 126 | Eduardo Sepulveda | Lotto | 1:01:31 |
| 127 | Niklas Märkl | Team Picnic PostNL | 1:02:00 |
| 128 | Michael Storer | Tudor Pro Cycling Team | 1:02:05 |
| 129 | Alberto Dainese | Tudor Pro Cycling Team | 1:02:22 |
| 130 | Pablo Castrillo | Movistar Team | 1:02:32 |
| 131 | Lenny Martinez | Bahrain Victorious | 1:02:39 |
| 132 | Jake Stewart | Israel-Premier Tech | 1:03:28 |
| 133 | Amaury Capiot | Arkea-B&B Hotels | 1:03:46 |
| 134 | Elmar Reinders | Team Jayco-AlUla | 1:03:57 |
| 135 | Sean Flynn | Team Picnic PostNL | 1:05:12 |
| 136 | Edoardo Affini | Team Visma | Lease a Bike | 1:05:15 |
| 137 | Pavel Bittner | Team Picnic PostNL | s.t. |
| 138 | Luka Mezgec | Team Jayco-AlUla | 1:05:23 |
| 139 | Stian Fredheim | Uno-X Mobility | 1:06:06 |
| 140 | Alexis Renard | Cofidis | 1:06:47 |
| 141 | Jonathan Milan | Lidl-Trek | 1:06:50 |
| 142 | Biniam Girmay | Intermarché-Wanty | 1:06:54 |
| 143 | Benjamin Thomas | Cofidis | s.t. |
| 144 | Tim Merlier | Soudal Quick-Step | 1:07:14 |
| 145 | Lewis Askey | Groupama-FDJ | 1:07:41 |
| 146 | Jonas Rutsch | Intermarché-Wanty | 1:07:43 |
| 147 | Dylan Groenewegen | Team Jayco-AlUla | 1:07:51 |
| 148 | Bert Van Lerberghe | Soudal Quick-Step | 1:08:21 |
| 149 | Tim Naberman | Team Picnic PostNL | 1:09:09 |
| 150 | Magnus Cort | Uno-X Mobility | 1:09:34 |
| 151 | Arnaud Démare | Arkea-B&B Hotels | 1:09:50 |
| 152 | Cees Bol | XDS Astana Team | 1:10:12 |
| 153 | Vito Braet | Intermarché-Wanty | 1:10:15 |
| 154 | Hugo Page | Intermarché-Wanty | 1:10:19 |
| 155 | Marijn van den Berg | EF Education-EasyPost | 1:10:29 |
| 156 | Phil Bauhaus | Bahrain Victorious | 1:10:43 |
| 157 | Laurenz Rex | Intermarché-Wanty | 1:11:20 |
| 158 | Søren Wærenskjold | Uno-X Mobility | 1:11:43 |
| 159 | Jarrad Drizners | Lotto | 1:12:28 |
| 160 | Guillaume Boivin | Israel-Premier Tech | 1:14:05 |
| 161 | Arnaud De Lie | Lotto | 1:14:56 |
| 162 | Kamil Gradek | Bahrain Victorious | 1:16:37 |
| 163 | Mick van Dijke | Red Bull-BORA-hansgrohe | 1:16:53 |
| 164 | Simone Consonni | Lidl-Trek | 1:17:03 |
| 165 | Edward Theuns | Lidl-Trek | 1:17:27 |
| 166 | Silvan Dillier | Alpecin-Deceuninck | 1:17:29 |
| 167 | Yevgeniy Fedorov | XDS Astana Team | 1:17:35 |
| 168 | Lennert Van Eetvelt | Lotto | 1:17:40 |
| 169 | Sébastien Grignard | Lotto | 1:17:44 |
| 170 | Luke Durbridge | Team Jayco-AlUla | 1:17:50 |
| 171 | Jordi Meeus | Red Bull-BORA-hansgrohe | 1:19:30 |
| 172 | Fabian Lienhard | Tudor Pro Cycling Team | 1:20:38 |
| 173 | Davide Ballerini | XDS Astana Team | 1:24:12 |
| 174 | Roel van Sintmaartensdijk | Intermarché-Wanty | 1:25:53 |
| 175 | Mattéo Vercher | Team TotalEnergies | 1:30:25 |
Stage 9 map & profile:

Stage 9 map

Stage 9 profile
Stage 9 photos by Fotoreporter Sirotti:

Points classification leader Jonathan Milan heads to the start.

GC leader Tadej Pogacar before the stage.

Jonas Vingegaard

Tim Merlier in his European Road Champion's jersey.

Valentin Madouas and Team Groupama-FDJ

Team Israel-Premier Tech waiting for the start.

Team Lotto

The finish: here they come...

The rush for the line

Tim Merlier wins stage nine.

Tadej Pogacar finsihed 26th, in the front group. Right with him are Jonas Vingegaard and Remco Evenepoel

Stage winner Tim Merlier

Tadej Pogacar will start stage ten in yellow.