
Sunday, July 12: Stage 9, Malemort - Ussel, 185.5 154.6 km
Stage 9 map & profile | Stage 9 photos

Mathieu van der Poel wins stage nine.
Bill and Carol McGann's book The Story of the Tour de France, Vol 2: 1976 - 2018 is available in print, Kindle eBook & Audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at the finish city of Ussel at 2:20 PM, local time: 34C (93F), sunny, with the wind from the east at 11 km/hr (7 mph). No rain is forecast. The temperature is forecast to climb to 35C (95F) at 4:00 PM.
Rated ascents (distances are corrected for the shortened stage):
The stage: The race organizer posted this notice about the shortened stage nine course.
Change to the route of Stage 9 as the department of Corrèze passes on red alert for a heatwave.
Météo-France has placed the department of Corrèze on red alert due to an exceptionally intense heatwave.
In light of this, it has been decided to adjust the route of Stage 9 of the Tour de France, from Malemort to Ussel, on Sunday 12 July 2026.
This decision has been made necessary by the exceptional weather conditions. It aims to ensure that the race can take place under conditions compatible with the red heatwave alert.
Consequently, it has been decided that:
• The route for Stage 9 will be reduced to 155.5 km, compared with the 185.5 km originally planned, representing a shortening of 30 km
• The start is scheduled for 1:45 pm
• The change to the route means the race will divert from the original route in the neutral zone, taking the D921 and heading from Brive-la-Gaillarde straight to Lanteuil, 147.8 km from the finish in Ussel
• The riders are now expected to finish at around 5.30 pm.
Information regarding this route change, including its impact on traffic and road closures, is available on the website of the government offices in Corrèze.
All government offices, local authorities, security forces, emergency and health services, accredited civil protection organisations, volunteers and other stakeholders remain fully committed to ensuring that this stage runs smoothly.
In these exceptionally hot conditions, everyone is urged to take the necessary precautions to protect themselves and the most vulnerable members of the community. It is recommended to drink plenty of fluids regularly, reduce physical activity during the hottest part of the day, and follow the guidance issued by the authorities. In case of an emergency, call 15 or 112.
The race: All 176 stage eight finishers began stage nine.
Here's the race organizer's stage nine report:
Attackers narrowly got the better of the peloton on a spectacular stage 9 of the Tour de France 2026 that eventually saw Mathieu Van der Poel power to victory in Ussel, after 154.6 km of exhilarating battle from Malemort. On the roads of Corrèze, the Flying Dutchman was instrumental in getting the breakaway established. He then split the front group on the final ascent of the day. And he eventually dominated Tobias Johannessen (Uno-X Mobility) and Tom Pidcock (Pinarello-Q36.5) to take his third stage win in the Tour. Van der Poel continues his team’s streak in the race: Alpecin-Premier Tech have now won stages in every edition since their debut in 2021. After Monday’s rest, the race will resume with a demanding stage in the Massif Central for climbers and puncheurs to bring fireworks on Bastille Day.
The stage:
It’s time for the final stage before the first rest day of the Tour de France 2026. Bastille Day is close and attackers promise anticipated fireworks on Sunday with a hilly course on the roads of Corrèze. The route was adapted to the weather conditions: 154.6 km from Malemort to Ussel, with four categorised climbs and some 3,000 metres of elevation gain.

Stage nine gets started.
A most intense start
The road rises immediately and attackers set off as soon as the flag drops for the 176-man peloton, at 13:57. There are many contenders for the breakaway. But Lidl-Trek control them all the way to the intermediate sprint in Beynat (km 13.9), where Mads Pedersen takes full points ahead of Biniam Girmay (NSN). Attacks keep flying en route to Côte de Naves, the first categorised climb of the day. Valentin Paret-Peintre (Soudal Quic-Step) leads the way at the summit (km 46) but attackers are still to make the break.
After a series of attacks and counter-attacks that saw him play a leading role, Mathieu Van der Poel (Alpecin-Premier Tech) sets off again at km 57. A group of 16 riders emerges at the front with the latest additions of Tobias Johannessen (Uno-X Mobility), Tom Pidcock (Pinarello-W36.5) and Clément Braz Afonso (Groupama-FDJ United).
Johannessen and Simmons attack from that group ahead the Suc au May ascent (cat. 2, 3.8 km at 7.7%). Pidcock and then Van der Poel set off in pursuit, making it an eight-man front group led by the Brit at the summit (km 98.5). Van der Poel and Johannessen are up there, as well as Derek Gee-West, Quinn Simmons (Lidl-Trek), Lennert Van Eetvelt (Lotto Intermarché), Pablo Castrillo (Movistar) and Alex Baudin (EF Education-EasyPost).
Relentless action all the way to Ussel
UAE Emirates-XRG set a strong pace in the bunch. The gap never gets higher than 1’25’’, at the summit of the Suc au May ascent. Netcompany Ineos bring more manpower to the chase with just over 40 kilometres remaining. The situation frustrates the attackers, who no longer collaborate smoothly.
Van der Poel attacks on the final ascent of the day, the cat. 4 Mont Bessou (summit at km 24.5). Johannessen, Pidcock and Baudin follow his move to make it a four-man lead group into the last 20 kilometres. Behind them, Simmons and Gee-West wait for the bunch to try and set a bunch sprint for Pedersen.
The four leaders work well together until the final kilometre. Van der Poel is at the front. He controls his rivals as well as the gap to the bunch and eventually powers to victory ahead of Johannessen and Pidcock. Filippo Ganna (Netcompany Ineos) is the first rider from the bunch, crossing the line just 6 seconds behind Van der Poel.
Complete results:
154.6 kilometers raced at an average speed of 44.268 km/hr
| 1 | Mathieu van der Poel | Alpecin-Premier Tech | 3hr 27min 51sec |
| 2 | Tobias Halland Johannessen | Uno-X Mobility | s.t. |
| 3 | Tom Pidcock | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 4 | Alex Baudin | EF Education-EasyPost | s.t. |
| 5 | Filippo Ganna | Netcompany INEOS Cycling Team | @ 6sec |
| 6 | Mads Pedersen | Lidl-Trek | s.t. |
| 7 | Michael Matthews | Team Jayco-AlUla | s.t. |
| 8 | Nicolas Breuillard | Team TotalEnergies | s.t. |
| 9 | Jordan Jegat | Team TotalEnergies | s.t. |
| 10 | Sean Quinn | EF Education-EasyPost | s.t. |
| 11 | Tadej Pogacar | UAE Team Emirates-XRG | s.t. |
| 12 | Remco Evenepoel | Red Bull-BORA-hansgrohe | s.t. |
| 13 | Isaac del Toro | UAE Team Emirates-XRG | s.t. |
| 14 | Alex Aranburu | Cofidis | s.t. |
| 15 | Paul Seixas | Decathlon CMA CGM Team | s.t. |
| 16 | Tiesj Benoot | Decathlon CMA CGM Team | s.t. |
| 17 | Ramses Debruyne | Alpecin-Premier Tech | s.t. |
| 18 | Yannis Voisard | Tudor Pro Cycling Team | s.t. |
| 19 | Jonas Vingegaard | Team Visma | Lease a Bike | s.t. |
| 20 | Florian Lipowitz | Red Bull-BORA-hansgrohe | s.t. |
| 21 | Mattias Skjelmose | Lidl-Trek | s.t. |
| 22 | Ilan Van Wilder | Soudal Quick-Step | s.t. |
| 23 | Clément Braz Afonso | Groupama-FDJ United | s.t. |
| 24 | Davide Piganzoli | Team Visma | Lease a Bike | s.t. |
| 25 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 26 | Richard Carapaz | EF Education-EasyPost | s.t. |
| 27 | Juan Ayuso | Lidl-Trek | s.t. |
| 28 | Marc Hirschi | Tudor Pro Cycling Team | s.t. |
| 29 | Einer Rubio | Movistar Team | s.t. |
| 30 | Lars Craps | Lotto-Intermarché | s.t. |
| 31 | Lenny Martinez | Bahrain Victorious | s.t. |
| 32 | Egan Bernal | Netcompany INEOS Cycling Team | s.t. |
| 33 | Ewen Costiou | Groupama-FDJ United | s.t. |
| 34 | Adam Yates | UAE Team Emirates-XRG | s.t. |
| 35 | Valentin Paret-Peintre | Soudal Quick-Step | s.t. |
| 36 | Lennert Van Eetvelt | Lotto-Intermarché | s.t. |
| 37 | Pablo Castrillo | Movistar Team | 0:19 |
| 38 | Brandon McNulty | UAE Team Emirates-XRG | 0:22 |
| 39 | Felix Grossschartner | UAE Team Emirates-XRG | 0:27 |
| 40 | Tim Wellens | UAE Team Emirates-XRG | s.t. |
| 41 | Matteo Jorgenson | Team Visma | Lease a Bike | 0:32 |
| 42 | Nicolas Prodhomme | Decathlon CMA CGM Team | 0:42 |
| 43 | Kévin Vauquelin | Netcompany INEOS Cycling Team | s.t. |
| 44 | Ion Izagirre | Cofidis | 1:17 |
| 45 | Carlos Verona | Lidl-Trek | 1:51 |
| 46 | Derek Gee-West | Lidl-Trek | 3:16 |
| 47 | Quinn Simmons | Lidl-Trek | 4:00 |
| 48 | Tobias Foss | Netcompany INEOS Cycling Team | 7:41 |
| 49 | Huub Artz | Lotto-Intermarché | 9:54 |
| 50 | Alexandre Delettre | Team TotalEnergies | s.t. |
| 51 | Joris Delbove | Team TotalEnergies | s.t. |
| 52 | Dorian Godon | Netcompany INEOS Cycling Team | s.t. |
| 53 | Quentin Pacher | Groupama-FDJ United | s.t. |
| 54 | Guillaume Martin-Guyonnet | Groupama-FDJ United | s.t. |
| 55 | Chris Harper | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 56 | Frank van den Broek | Team Picnic PostNL | s.t. |
| 57 | Quinten Hermans | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 58 | Harold Tejada | XDS Astana Team | s.t. |
| 59 | Mathias Vacek | Lidl-Trek | s.t. |
| 60 | Jasper Stuyven | Soudal Quick-Step | s.t. |
| 61 | Louis Vervaeke | Soudal Quick-Step | s.t. |
| 62 | Ben O'Connor | Team Jayco-AlUla | 9:59 |
| 63 | Per Strand Hagenes | Team Visma | Lease a Bike | s.t. |
| 64 | Søren Wærenskjold | Uno-X Mobility | 17:24 |
| 65 | Liam Slock | Lotto-Intermarché | s.t. |
| 66 | Mathis Le Berre | Team TotalEnergies | s.t. |
| 67 | Xandro Meurisse | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 68 | Brent Van Moer | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 69 | Jonas Abrahamsen | Uno-X Mobility | s.t. |
| 70 | Thibault Guernalec | Team TotalEnergies | s.t. |
| 71 | Jenno Berckmoes | Lotto-Intermarché | s.t. |
| 72 | Matteo Trentin | Tudor Pro Cycling Team | s.t. |
| 73 | Mauro Schmid | Team Jayco-AlUla | s.t. |
| 74 | Nico Denz | Red Bull-BORA-hansgrohe | s.t. |
| 75 | Nils Politt | UAE Team Emirates-XRG | s.t. |
| 76 | Robert Stannard | Bahrain Victorious | s.t. |
| 77 | Felix Engelhardt | Team Jayco-AlUla | s.t. |
| 78 | Florian Vermeersch | UAE Team Emirates-XRG | s.t. |
| 79 | Victor Campenaerts | Team Visma | Lease a Bike | s.t. |
| 80 | Georg Zimmermann | Lotto-Intermarché | s.t. |
| 81 | Baptiste Veistroffer | Lotto-Intermarché | s.t. |
| 82 | Matthew Riccitello | Decathlon CMA CGM Team | s.t. |
| 83 | Fred Wright | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 84 | Emiel Verstrynge | Alpecin-Premier Tech | s.t. |
| 85 | Mike Teunissen | XDS Astana Team | s.t. |
| 86 | Rick Pluimers | Tudor Pro Cycling Team | s.t. |
| 87 | Michel Hessmann | Movistar Team | s.t. |
| 88 | Jan Tratnik | Red Bull-BORA-hansgrohe | s.t. |
| 89 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
| 90 | Damien Howson | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 91 | Anthon Charmig | Uno-X Mobility | s.t. |
| 92 | Warren Barguil | Team Picnic PostNL | s.t. |
| 93 | Matej Mohoric | Bahrain Victorious | s.t. |
| 94 | Luke Durbridge | Team Jayco-AlUla | s.t. |
| 95 | Romain Grégoire | Groupama-FDJ United | s.t. |
| 96 | Jakub Otruba | Caja Rural-Seguros RGA | s.t. |
| 97 | Lorenzo Germani | Groupama-FDJ United | s.t. |
| 98 | Vlad Van Mechelen | Bahrain Victorious | s.t. |
| 99 | Frits Biesterbos | Team Picnic PostNL | s.t. |
| 100 | Michal Kwiatkowski | Netcompany INEOS Cycling Team | s.t. |
| 101 | Hugo Page | Cofidis | s.t. |
| 102 | Joshua Tarling | Netcompany INEOS Cycling Team | s.t. |
| 103 | Javier Romo | Movistar Team | s.t. |
| 104 | Marco Haller | Tudor Pro Cycling Team | s.t. |
| 105 | Ben Healy | EF Education-EasyPost | s.t. |
| 106 | Bruno Armirail | Team Visma | Lease a Bike | s.t. |
| 107 | Aurélien Paret-Peintre | Decathlon CMA CGM Team | s.t. |
| 108 | Max Walker | EF Education-EasyPost | s.t. |
| 109 | Abel Balderstone | Caja Rural-Seguros RGA | s.t. |
| 110 | Raúl García | Movistar Team | s.t. |
| 111 | José Félix Parra | Caja Rural-Seguros RGA | s.t. |
| 112 | Jefferson Cepeda | Movistar Team | s.t. |
| 113 | Thymen Arensman | Netcompany INEOS Cycling Team | s.t. |
| 114 | Dylan van Baarle | Soudal Quick-Step | s.t. |
| 115 | Anders Skaarseth | Uno-X Mobility | s.t. |
| 116 | Anders Halland Johannessen | Uno-X Mobility | s.t. |
| 117 | Nelson Oliveira | Movistar Team | s.t. |
| 118 | Antonio Tiberi | Bahrain Victorious | s.t. |
| 119 | Damiano Caruso | Bahrain Victorious | s.t. |
| 120 | Kasper Asgreen | EF Education-EasyPost | s.t. |
| 121 | Mattia Cattaneo | Red Bull-BORA-hansgrohe | s.t. |
| 122 | Sergio Higuita | XDS Astana Team | s.t. |
| 123 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 124 | Michael Valgren | EF Education-EasyPost | s.t. |
| 125 | George Bennett | NSN Cycling Team | s.t. |
| 126 | Luke Plapp | Team Jayco-AlUla | s.t. |
| 127 | Mattéo Vercher | Team TotalEnergies | s.t. |
| 128 | Sebastian Berwick | Caja Rural-Seguros RGA | 17:34 |
| 129 | Alex Kirsch | Cofidis | 17:39 |
| 130 | Benjamin Thomas | Cofidis | s.t. |
| 131 | Julian Alaphilippe | Tudor Pro Cycling Team | s.t. |
| 132 | Clément Russo | Groupama-FDJ United | 26:46 |
| 133 | Tim Marsman | Alpecin-Premier Tech | s.t. |
| 134 | Jenthe Biermans | Cofidis | s.t. |
| 135 | Piet Allegaert | Cofidis | s.t. |
| 136 | Niklas Märkl | Team Picnic PostNL | s.t. |
| 137 | Pascal Ackermann | Team Jayco-AlUla | s.t. |
| 138 | Tim van Dijke | Red Bull-BORA-hansgrohe | s.t. |
| 139 | Maxim Van Gils | Red Bull-BORA-hansgrohe | s.t. |
| 140 | Silvan Dillier | Alpecin-Premier Tech | s.t. |
| 141 | Marco Frigo | NSN Cycling Team | s.t. |
| 142 | Nicolas Vinokurov | XDS Astana Team | s.t. |
| 143 | Aaron Gate | XDS Astana Team | s.t. |
| 144 | Stefano Oldani | Caja Rural-Seguros RGA | s.t. |
| 145 | Toms Skujins | Lidl-Trek | s.t. |
| 146 | Krists Neilands | NSN Cycling Team | s.t. |
| 147 | Anthony Turgis | Team TotalEnergies | s.t. |
| 148 | Edoardo Affini | Team Visma | Lease a Bike | s.t. |
| 149 | Pavel Bittner | Team Picnic PostNL | s.t. |
| 150 | Magnus Cort | Uno-X Mobility | s.t. |
| 151 | Cees Bol | Decathlon CMA CGM Team | s.t. |
| 152 | Pascal Eenkhoorn | Soudal Quick-Step | s.t. |
| 153 | Michael Storer | Tudor Pro Cycling Team | s.t. |
| 154 | Daan Hoole | Decathlon CMA CGM Team | s.t. |
| 155 | Kamil Gradek | Bahrain Victorious | s.t. |
| 156 | Milan Fretin | Cofidis | s.t. |
| 157 | Edward Planckaert | Alpecin-Premier Tech | s.t. |
| 158 | Davide Ballerini | XDS Astana Team | 26:55 |
| 159 | Fernando Gaviria | Caja Rural-Seguros RGA | s.t. |
| 160 | Tim Merlier | Soudal Quick-Step | s.t. |
| 161 | Olav Kooij | Decathlon CMA CGM Team | s.t. |
| 162 | Max Kanter | XDS Astana Team | s.t. |
| 163 | Julius van den Berg | Team Picnic PostNL | s.t. |
| 164 | Jasper Philipsen | Alpecin-Premier Tech | s.t. |
| 165 | John Degenkolb | Team Picnic PostNL | s.t. |
| 166 | Georg Steinhauser | EF Education-EasyPost | s.t. |
| 167 | Phil Bauhaus | Bahrain Victorious | s.t. |
| 168 | Joel Nicolau | Caja Rural-Seguros RGA | s.t. |
| 169 | Jake Stewart | NSN Cycling Team | s.t. |
| 170 | Robbe Dhondt | Team Picnic PostNL | s.t. |
| 171 | Biniam Girmay | NSN Cycling Team | s.t. |
| 172 | Lewis Askey | NSN Cycling Team | s.t. |
| 173 | Matis Louvel | NSN Cycling Team | s.t. |
| 174 | Tom Van Asbroeck | NSN Cycling Team | s.t. |
| 175 | Simone Velasco | XDS Astana Team | s.t. |
| 176 | Jonas Rickaert | Alpecin-Premier Tech | s.t. |
GC after stage 9:
1,420.5 kilometers raced so far at an average speed of 44.000 km/hr
| 1 | Tadej Pogacar | UAE Team Emirates-XRG | 32hr 17min 4sec |
| 2 | Jonas Vingegaard | Team Visma | Lease a Bike | @ 2min 42sec |
| 3 | Isaac del Toro | UAE Team Emirates-XRG | 3:27 |
| 4 | Remco Evenepoel | Red Bull-BORA-hansgrohe | 3:30 |
| 5 | Juan Ayuso | Lidl-Trek | 3:34 |
| 6 | Paul Seixas | Decathlon CMA CGM Team | 3:55 |
| 7 | Florian Lipowitz | Red Bull-BORA-hansgrohe | 4:00 |
| 8 | Lenny Martinez | Bahrain Victorious | 4:21 |
| 9 | Mattias Skjelmose | Lidl-Trek | 4:57 |
| 10 | Egan Bernal | Netcompany INEOS Cycling Team | 9:12 |
| 11 | Tobias Halland Johannessen | Uno-X Mobility | 9:30 |
| 12 | Sean Quinn | EF Education-EasyPost | 9:35 |
| 13 | Tom Pidcock | Pinarello-Q36.5 Pro Cycling Team | 9:40 |
| 14 | Ilan Van Wilder | Soudal Quick-Step | 9:45 |
| 15 | Davide Piganzoli | Team Visma | Lease a Bike | 10:46 |
| 16 | Lennert Van Eetvelt | Lotto-Intermarché | 10:51 |
| 17 | Jordan Jegat | Team TotalEnergies | 10:56 |
| 18 | Yannis Voisard | Tudor Pro Cycling Team | 12:21 |
| 19 | Ramses Debruyne | Alpecin-Premier Tech | 13:15 |
| 20 | Sepp Kuss | Team Visma | Lease a Bike | 13:33 |
| 21 | Pablo Castrillo | Movistar Team | 13:37 |
| 22 | Adam Yates | UAE Team Emirates-XRG | 14:31 |
| 23 | Richard Carapaz | EF Education-EasyPost | 15:24 |
| 24 | Mathias Vacek | Lidl-Trek | 16:58 |
| 25 | Brandon McNulty | UAE Team Emirates-XRG | 18:42 |
| 26 | Harold Tejada | XDS Astana Team | 22:54 |
| 27 | Tiesj Benoot | Decathlon CMA CGM Team | 26:17 |
| 28 | Matteo Jorgenson | Team Visma | Lease a Bike | 32:54 |
| 29 | Nicolas Prodhomme | Decathlon CMA CGM Team | 35:26 |
| 30 | Thymen Arensman | Netcompany INEOS Cycling Team | 37:12 |
| 31 | Carlos Verona | Lidl-Trek | 39:53 |
| 32 | Ion Izagirre | Cofidis | 40:45 |
| 33 | Kévin Vauquelin | Netcompany INEOS Cycling Team | 40:57 |
| 34 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 41:10 |
| 35 | Chris Harper | Pinarello-Q36.5 Pro Cycling Team | 42:31 |
| 36 | Alex Baudin | EF Education-EasyPost | 43:37 |
| 37 | Antonio Tiberi | Bahrain Victorious | 44:21 |
| 38 | Felix Grossschartner | UAE Team Emirates-XRG | 44:29 |
| 39 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
| 40 | Sergio Higuita | XDS Astana Team | 45:44 |
| 41 | Quinn Simmons | Lidl-Trek | 47:38 |
| 42 | José Félix Parra | Caja Rural-Seguros RGA | 47:49 |
| 43 | Quinten Hermans | Pinarello-Q36.5 Pro Cycling Team | 48:53 |
| 44 | Raúl García | Movistar Team | 54:23 |
| 45 | Derek Gee-West | Lidl-Trek | 56:31 |
| 46 | Valentin Paret-Peintre | Soudal Quick-Step | 56:46 |
| 47 | Marc Hirschi | Tudor Pro Cycling Team | 59:20 |
| 48 | Einer Rubio | Movistar Team | 1:04:42 |
| 49 | Anders Skaarseth | Uno-X Mobility | 1:05:36 |
| 50 | Ben O'Connor | Team Jayco-AlUla | 1:05:46 |
| 51 | Tim Wellens | UAE Team Emirates-XRG | 1:07:16 |
| 52 | Nicolas Breuillard | Team TotalEnergies | 1:07:33 |
| 53 | Joris Delbove | Team TotalEnergies | 1:07:40 |
| 54 | Clément Braz Afonso | Groupama-FDJ United | 1:08:34 |
| 55 | Maxim Van Gils | Red Bull-BORA-hansgrohe | 1:08:37 |
| 56 | Mathieu van der Poel | Alpecin-Premier Tech | 1:09:46 |
| 57 | Abel Balderstone | Caja Rural-Seguros RGA | 1:10:39 |
| 58 | Alexandre Delettre | Team TotalEnergies | 1:11:59 |
| 59 | Lars Craps | Lotto-Intermarché | 1:13:56 |
| 60 | Romain Grégoire | Groupama-FDJ United | 1:14:21 |
| 61 | Javier Romo | Movistar Team | 1:14:51 |
| 62 | George Bennett | NSN Cycling Team | 1:14:56 |
| 63 | Mads Pedersen | Lidl-Trek | 1:15:01 |
| 64 | Tobias Foss | Netcompany INEOS Cycling Team | 1:15:06 |
| 65 | Mattia Cattaneo | Red Bull-BORA-hansgrohe | 1:15:10 |
| 66 | Michael Matthews | Team Jayco-AlUla | 1:15:20 |
| 67 | Xandro Meurisse | Pinarello-Q36.5 Pro Cycling Team | 1:18:37 |
| 68 | Damiano Caruso | Bahrain Victorious | 1:18:45 |
| 69 | Alex Aranburu | Cofidis | 1:19:52 |
| 70 | Aurélien Paret-Peintre | Decathlon CMA CGM Team | 1:20:28 |
| 71 | Ewen Costiou | Groupama-FDJ United | 1:21:00 |
| 72 | Mattéo Vercher | Team TotalEnergies | 1:21:26 |
| 73 | Georg Zimmermann | Lotto-Intermarché | 1:23:35 |
| 74 | Nelson Oliveira | Movistar Team | 1:23:47 |
| 75 | Jasper Stuyven | Soudal Quick-Step | 1:24:04 |
| 76 | Frank van den Broek | Team Picnic PostNL | 1:24:56 |
| 77 | Vlad Van Mechelen | Bahrain Victorious | 1:25:33 |
| 78 | Victor Campenaerts | Team Visma | Lease a Bike | 1:26:12 |
| 79 | Nils Politt | UAE Team Emirates-XRG | 1:26:49 |
| 80 | Mathis Le Berre | Team TotalEnergies | 1:26:57 |
| 81 | Michael Valgren | EF Education-EasyPost | 1:26:58 |
| 82 | Lorenzo Germani | Groupama-FDJ United | 1:27:36 |
| 83 | Kasper Asgreen | EF Education-EasyPost | 1:27:51 |
| 84 | Jefferson Cepeda | Movistar Team | 1:28:39 |
| 85 | Toms Skujins | Lidl-Trek | 1:29:43 |
| 86 | Louis Vervaeke | Soudal Quick-Step | 1:30:24 |
| 87 | Quentin Pacher | Groupama-FDJ United | 1:30:48 |
| 88 | Sebastian Berwick | Caja Rural-Seguros RGA | 1:31:39 |
| 89 | Nico Denz | Red Bull-BORA-hansgrohe | 1:32:01 |
| 90 | Matthew Riccitello | Decathlon CMA CGM Team | 1:32:38 |
| 91 | Rick Pluimers | Tudor Pro Cycling Team | 1:35:38 |
| 92 | Mauro Schmid | Team Jayco-AlUla | 1:35:56 |
| 93 | Jenno Berckmoes | Lotto-Intermarché | 1:36:51 |
| 94 | Jonas Abrahamsen | Uno-X Mobility | 1:37:38 |
| 95 | Brent Van Moer | Pinarello-Q36.5 Pro Cycling Team | 1:38:07 |
| 96 | Robert Stannard | Bahrain Victorious | 1:38:50 |
| 97 | Michael Storer | Tudor Pro Cycling Team | 1:39:05 |
| 98 | Clément Russo | Groupama-FDJ United | 1:39:55 |
| 99 | Damien Howson | Pinarello-Q36.5 Pro Cycling Team | 1:40:47 |
| 100 | Anders Halland Johannessen | Uno-X Mobility | 1:40:54 |
| 101 | Luke Plapp | Team Jayco-AlUla | 1:40:56 |
| 102 | Felix Engelhardt | Team Jayco-AlUla | 1:41:01 |
| 103 | Matej Mohoric | Bahrain Victorious | 1:41:36 |
| 104 | Anthon Charmig | Uno-X Mobility | 1:41:45 |
| 105 | Alex Kirsch | Cofidis | 1:42:05 |
| 106 | Ben Healy | EF Education-EasyPost | 1:42:52 |
| 107 | Jan Tratnik | Red Bull-BORA-hansgrohe | 1:44:38 |
| 108 | Magnus Cort | Uno-X Mobility | 1:45:00 |
| 109 | Warren Barguil | Team Picnic PostNL | 1:45:03 |
| 110 | Michel Hessmann | Movistar Team | 1:45:26 |
| 111 | Edward Planckaert | Alpecin-Premier Tech | 1:46:04 |
| 112 | Marco Frigo | NSN Cycling Team | 1:46:08 |
| 113 | Thibault Guernalec | Team TotalEnergies | 1:46:14 |
| 114 | Luke Durbridge | Team Jayco-AlUla | 1:46:20 |
| 115 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 1:46:31 |
| 116 | Bruno Armirail | Team Visma | Lease a Bike | 1:46:34 |
| 117 | Emiel Verstrynge | Alpecin-Premier Tech | 1:46:56 |
| 118 | Max Walker | EF Education-EasyPost | 1:47:09 |
| 119 | Mike Teunissen | XDS Astana Team | 1:47:26 |
| 120 | Benjamin Thomas | Cofidis | 1:48:20 |
| 121 | Filippo Ganna | Netcompany INEOS Cycling Team | 1:49:20 |
| 122 | Per Strand Hagenes | Team Visma | Lease a Bike | 1:50:01 |
| 123 | Anthony Turgis | Team TotalEnergies | 1:50:04 |
| 124 | Dylan van Baarle | Soudal Quick-Step | 1:50:12 |
| 125 | Jonas Rickaert | Alpecin-Premier Tech | 1:50:26 |
| 126 | Aaron Gate | XDS Astana Team | 1:50:28 |
| 127 | Julian Alaphilippe | Tudor Pro Cycling Team | 1:50:52 |
| 128 | Michal Kwiatkowski | Netcompany INEOS Cycling Team | 1:51:06 |
| 129 | Joel Nicolau | Caja Rural-Seguros RGA | 1:51:20 |
| 130 | Jakub Otruba | Caja Rural-Seguros RGA | 1:51:28 |
| 131 | Georg Steinhauser | EF Education-EasyPost | 1:51:47 |
| 132 | Florian Vermeersch | UAE Team Emirates-XRG | 1:52:17 |
| 133 | Simone Velasco | XDS Astana Team | 1:52:23 |
| 134 | Krists Neilands | NSN Cycling Team | 1:52:53 |
| 135 | Pascal Eenkhoorn | Soudal Quick-Step | 1:52:58 |
| 136 | Dorian Godon | Netcompany INEOS Cycling Team | 1:53:18 |
| 137 | Frits Biesterbos | Team Picnic PostNL | 1:54:00 |
| 138 | Søren Wærenskjold | Uno-X Mobility | 1:54:01 |
| 139 | Hugo Page | Cofidis | 1:56:25 |
| 140 | Daan Hoole | Decathlon CMA CGM Team | 1:56:29 |
| 141 | Nicolas Vinokurov | XDS Astana Team | 1:56:36 |
| 142 | Huub Artz | Lotto-Intermarché | 1:57:06 |
| 143 | Fred Wright | Pinarello-Q36.5 Pro Cycling Team | 1:58:09 |
| 144 | Max Kanter | XDS Astana Team | 1:59:23 |
| 145 | Biniam Girmay | NSN Cycling Team | 1:59:32 |
| 146 | Matteo Trentin | Tudor Pro Cycling Team | 2:00:13 |
| 147 | Stefano Oldani | Caja Rural-Seguros RGA | 2:01:06 |
| 148 | Tom Van Asbroeck | NSN Cycling Team | 2:02:25 |
| 149 | Baptiste Veistroffer | Lotto-Intermarché | 2:03:39 |
| 150 | Silvan Dillier | Alpecin-Premier Tech | 2:03:42 |
| 151 | Jasper Philipsen | Alpecin-Premier Tech | 2:04:52 |
| 152 | Tim van Dijke | Red Bull-BORA-hansgrohe | 2:04:55 |
| 153 | Robbe Dhondt | Team Picnic PostNL | 2:05:16 |
| 154 | Niklas Märkl | Team Picnic PostNL | 2:05:43 |
| 155 | Jenthe Biermans | Cofidis | 2:06:56 |
| 156 | Edoardo Affini | Team Visma | Lease a Bike | 2:07:47 |
| 157 | Tim Marsman | Alpecin-Premier Tech | 2:08:33 |
| 158 | Joshua Tarling | Netcompany INEOS Cycling Team | 2:09:02 |
| 159 | Pavel Bittner | Team Picnic PostNL | 2:11:05 |
| 160 | Liam Slock | Lotto-Intermarché | 2:11:25 |
| 161 | Milan Fretin | Cofidis | 2:12:45 |
| 162 | Julius van den Berg | Team Picnic PostNL | 2:13:40 |
| 163 | Pascal Ackermann | Team Jayco-AlUla | 2:13:47 |
| 164 | Jake Stewart | NSN Cycling Team | 2:13:58 |
| 165 | John Degenkolb | Team Picnic PostNL | 2:14:53 |
| 166 | Fernando Gaviria | Caja Rural-Seguros RGA | 2:15:30 |
| 167 | Tim Merlier | Soudal Quick-Step | 2:15:50 |
| 168 | Phil Bauhaus | Bahrain Victorious | 2:16:25 |
| 169 | Lewis Askey | NSN Cycling Team | 2:17:20 |
| 170 | Davide Ballerini | XDS Astana Team | 2:17:59 |
| 171 | Olav Kooij | Decathlon CMA CGM Team | 2:18:02 |
| 172 | Cees Bol | Decathlon CMA CGM Team | 2:18:40 |
| 173 | Marco Haller | Tudor Pro Cycling Team | 2:18:51 |
| 174 | Piet Allegaert | Cofidis | 2:19:27 |
| 175 | Kamil Gradek | Bahrain Victorious | 2:21:10 |
| 176 | Matis Louvel | NSN Cycling Team | 2:26:05 |
Stage 9 maps & profiles. Both original and revised

Here's the revised route

The original map. Instead of taking the loop to the south, the riders will be sent almost due east on the D921 to Lanteuil. The shortcut revision is the red line on the map.

The revised profile

The original profile
Stage 9 photos by Fotoreporter Sirotti:

Wearing a cooling jacket, GC leader Tadej Pogacar heads to the start.

Points classification leader (hence the green racing kit) Mads Pedersen gets his very colorful bike.

Having fallen ill in past Grand Tours, Jonas Vingegaard is being careful, hence the mask.

Remco Evenepoel gets his bike.

As the lead group appraoches the line, Mathieu van der Poel knows he's got this stage won.

Mathieu van der Poel wins stage nine.

Six seconds later Filippo Ganna beats Mads Pedersen to win the field sprint.

Van der Poel's wife was there at the finish to congratulate him.

Stage winner Mathieu van der Poel

On Tuesday when the Tour resumes, Tadej Pogacar will be in yellow.