
Sunday, August 30: Stage 9, La Vila Joiosa/Villajoyosa - Alto de Aitana. Costa Blanca. 187.4 km
Stage 9 map & profile | Stage 9 photos

A happy, red-jersey'd Enric Mas wins stage nine.
Marcus Aurelius' Meditations is available in both Kindle eBook & audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at the city of Sella, on the route, 18.4 kilometers from the finish, at 2:35 PM, local time: 30C (86F), sunny, with the wind from the south-southeast at 13 km/hr (8 mph). No rain is forecast.
Rated ascents:
The stage: Very tough stage to complete the first week of racing. With over 5,000 metres of uphill slopes, up to six climbs will put the riders to the test, particularly El Miserat (1st category) and the final climb up to Alto de Aitana. The heat could make this already challenging stage even tougher.
The race: Early in the stage Pablo Torres (UAE Team Emirates-XRG) abandoned.
Here's the organizer's stage nine report:
As he led a Grand Tour for the first time in his career on the day after Tadej Pogacar abandoned, Enric Mas (Movistar) stamped his authority on La Vuelta 26 with a spectacular stage win on the Alto de Aitana. The battle was brutal from the start of this grueling mountain showdown, with over 5,000 metres of elevation gain from La Vila Joiosa. First, Movistar controlled the bunch behind a large breakaway. Then, Mas responded to repeated attacks from his rivals, starting with Felix Gall (Decathlon CMA CGM).
Eventually, he dropped everyone but Oscar Onley (Netcompany Ineos), who resisted the Spaniard’s attack but could not pass him at the summit. Mas takes his second La Vuelta stage win, eight years after his first. He is the first Spanish overall leader of the race since 2018. And now he became the first Spaniard to win a La Vuelta stage with La Roja on his back since Alberto Contador at Ancares (stage 20) in 2014.
The stage
On the day after Tadej Pogacar abandoned and on the eve of the first race day, the peloton face a most demanding stage with over 5,000 metres of elevation to leave the seaside and head to summit finish at Alto de Aitana (187.4 km). The race starts from the seaside, in La Vila Joiosa, next to Benidorm. Many riders know the area, may it be from the races held around here or thanks to the training camps teams are used to organising in the winter.
A fierce battle from the start
The course inspires attackers. Pavel Sivakov (UAE Emirates XRG), Alexey Lutsenko (NSN), Andreas Kron (Uno-X Mobility), Alastair Mackellar (EF Education-EasyPost), Fabian Weiss (Tudor) and Alessandro Romele (XDS Astana) open a gap of 20 seconds after 9 kilometres. The relentless battle continues on the first climb of the day, Puerto de Tarbena (cat. 2, km 36.7) with a flurry of counter-attacks. The pace is too hard for Weiss, who is dropped from the front group and reeled in by the peloton.

There were attacks from the start of the stage. Photo: cxcling
Finn Fisher-Black (Red Bull-Bora-Hansgrohe) and Urko Berrade (Kern Pharma) force an opening ahead of the summit. Valentin Paret-Peintre (Soudal Quick-Step) and Stefan Küng (Tudor) accelerate over the top. Many other attackers get in the mix. There are 15 riders in the breakaway to tackle the second ascent of the day, the Puerto de El Miserat (cat. 1, km 73.9). Santiago Buitrago (Bahrain Victorious) leads the way to the summit to take the lead of the mountains standings (21 KOM points against 19 for Leknessund).
A birthday boy on the front
More chasers join the front group in several waves. The breakaway is eventually consolidated at km 104 with 24 leaders. At that point, the Movistar-led peloton trail by 4’55’’.
Buitrago takes the KOM points atop the Puerto de Tudons (cat. 2, km 121.8). Alessandro Romele attacks on the following descent? The Italian is alone at the front to take full points at the intermediate sprint (km 134.6) and at the Puerto de Benifallim (cat. 2, 139.9). The Italian youngster - he turns 23 years old today - is joined at the front by Pavel Sivakov and Camprubi as they enter the final 40 kilometres.
In the peloton, Felix Gall’s Decathlon CMA CGM take over the pace-setting as the gap increases to 6 minutes.

The peloton midway into the stage. Photo:cxcling
Mas shines
At the bottom of the final climb (22 km at 5.8%), the lead trio are a minute and a half ahead of their chasers, and five minutes ahead of the peloton. Romele is rapidly dropped. And Sivakov goes solo 10 kilometres from the summit.
Behind them, Decathlon CMA CGM set a brutal pace. Gall eventually attacks with 8 km remaining, but he doesn’t manage to make differences. A small group get back to Sivakov 4.5 km from the summit, with Buitrago, Gall, as well as Enric Mas (Movistar), Primoz Roglic (Red Bull-Bora-Hansgrohe), Oscar Onley (Netcompany Ineos), and Richard Carapaz (EF Education-EasyPost).
Tactics came into play, with several riders trying their hand. The acceleration from Mas into the final three kilometres proved decisive, as only Oscar Onley could follow the Spaniard. Mas pushes the pace all the way to the summit, where he becomes the first Spaniard to win a La Vuelta stage with La Roja on his back since Alberto Contador at Ancares in 2014 (stage 20). In the overall standings, he is now 1’18’’ ahead of Roglic. Gall trails by 1’39’’ and Onley moves up to the 4th position (+2’20’’).
Complete results:
187.4 kilometers raced at an average speed of 36.193 km/hr
| 1 | Enric Mas | Movistar Team | 5hr 10min 40sec |
| 2 | Oscar Onley | Netcompany INEOS Cycling Team | s.t. |
| 3 | Primoz Roglic | Red Bull-BORA-hansgrohe | @ 12sec |
| 4 | Felix Gall | Decathlon CMA CGM Team | 0:18 |
| 5 | Cristian Rodriguez | XDS Astana Team | 0:20 |
| 6 | Mattias Skjelmose | Lidl-Trek | s.t. |
| 7 | Jarno Widar | Lotto-Intermarché | 0:25 |
| 8 | Harold Tejada | XDS Astana Team | 0:33 |
| 9 | Richard Carapaz | EF Education-EasyPost | 0:54 |
| 10 | Santiago Buitrago | Bahrain Victorious | 1:41 |
| 11 | Sepp Kuss | Team Visma | Lease a Bike | 1:44 |
| 12 | Gregor Mühlberger | Decathlon CMA CGM Team | s.t. |
| 13 | Ramses Debruyne | Alpecin-Premier Tech | 1:51 |
| 14 | Clément Berthet | Groupama-FDJ United | s.t. |
| 15 | Jakob Omrzel | Bahrain Victorious | s.t. |
| 16 | Matthew Riccitello | Decathlon CMA CGM Team | 2:12 |
| 17 | Filippo Zana | Soudal Quick-Step | 3:15 |
| 18 | Juan Rodríguez | EF Education-EasyPost | 3:22 |
| 19 | Gijs Leemreize | Team Picnic PostNL | s.t. |
| 20 | Pavel Sivakov | UAE Team Emirates-XRG | 3:36 |
| 21 | Milan Vader | Pinarello-Q36.5 Pro Cycling Team | 3:52 |
| 22 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 4:37 |
| 23 | Léo Bisiaux | Decathlon CMA CGM Team | 5:18 |
| 24 | Raúl García | Movistar Team | 6:20 |
| 25 | Kevin Vermaerke | UAE Team Emirates-XRG | 7:23 |
| 26 | Mario Aparicio | Burgos Burpellet BH | 7:34 |
| 27 | Emanuel Buchmann | Cofidis | s.t. |
| 28 | Marcel Camprubí | Pinarello-Q36.5 Pro Cycling Team | 7:36 |
| 29 | Jose Manuel Diaz | Burgos Burpellet BH | 7:51 |
| 30 | Valentin Paret-Peintre | Soudal Quick-Step | 8:22 |
| 31 | Andreas Kron | Uno-X Mobility | 9:47 |
| 32 | Carlos Rodriguez | Netcompany INEOS Cycling Team | 10:21 |
| 33 | Jack Haig | Netcompany INEOS Cycling Team | 10:58 |
| 34 | Bruno Armirail | Team Visma | Lease a Bike | 11:33 |
| 35 | Jan Hirt | NSN Cycling Team | s.t. |
| 36 | Alexey Lutsenko | NSN Cycling Team | 12:16 |
| 37 | Finlay Pickering | Team Jayco-AlUla | 13:29 |
| 38 | Embret Svestad-Bårdseng | Netcompany INEOS Cycling Team | 13:39 |
| 39 | Urko Berrade | Equipo Kern Pharma | s.t. |
| 40 | Pablo Castrillo | Movistar Team | s.t. |
| 41 | Callum Scotson | Decathlon CMA CGM Team | 13:47 |
| 42 | Axel Laurance | Netcompany INEOS Cycling Team | 14:29 |
| 43 | Enzo Paleni | Groupama-FDJ United | 14:30 |
| 44 | Stefan Küng | Tudor Pro Cycling Team | 14:50 |
| 45 | Valentin Madouas | Groupama-FDJ United | s.t. |
| 46 | Koen Bouwman | Team Jayco-AlUla | s.t. |
| 47 | James Shaw | EF Education-EasyPost | 15:20 |
| 48 | Patrick Konrad | Lidl-Trek | 15:42 |
| 49 | Hugo Hofstetter | NSN Cycling Team | s.t. |
| 50 | Luis Faura José | Burgos Burpellet BH | 16:42 |
| 51 | Gianni Vermeersch | Red Bull-BORA-hansgrohe | 16:51 |
| 52 | Tobias Halland Johannessen | Uno-X Mobility | 18:33 |
| 53 | Rudy Porter | Team Jayco-AlUla | s.t. |
| 54 | Rémy Rochas | Groupama-FDJ United | 19:24 |
| 55 | Jordan Labrosse | Decathlon CMA CGM Team | 19:53 |
| 56 | Iñigo Elosegui | Equipo Kern Pharma | 19:56 |
| 57 | Sergio Samitier | Cofidis | s.t. |
| 58 | Lorenzo Fortunato | XDS Astana Team | s.t. |
| 59 | Gianmarco Garofoli | Soudal Quick-Step | s.t. |
| 60 | Henok Mulubrhan | XDS Astana Team | s.t. |
| 61 | Chris Hamilton | Team Picnic PostNL | s.t. |
| 62 | Lawrence Warbasse | Tudor Pro Cycling Team | s.t. |
| 63 | Darren van Bekkum | XDS Astana Team | s.t. |
| 64 | Steven Kruijswijk | Team Visma | Lease a Bike | s.t. |
| 65 | João Almeida | UAE Team Emirates-XRG | s.t. |
| 66 | Mikel Landa | Soudal Quick-Step | s.t. |
| 67 | Jacopo Mosca | Lidl-Trek | s.t. |
| 68 | Reuben Thompson | Lotto-Intermarché | s.t. |
| 69 | Luke Tuckwell | Red Bull-BORA-hansgrohe | 20:33 |
| 70 | Lennard Kämna | Lidl-Trek | 21:03 |
| 71 | Iván Romeo | Movistar Team | 21:58 |
| 72 | Pau Miquel Delgado | Bahrain Victorious | s.t. |
| 73 | Hannes Wilksch | Tudor Pro Cycling Team | 22:01 |
| 74 | Jorge Arcas | Movistar Team | s.t. |
| 75 | Thomas Gloag | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 76 | Thibau Nys | Lidl-Trek | s.t. |
| 77 | Julien Bernard | Lidl-Trek | s.t. |
| 78 | Sander De Pestel | Decathlon CMA CGM Team | s.t. |
| 79 | Marco Brenner | Tudor Pro Cycling Team | s.t. |
| 80 | Paul Ourselin | Cofidis | s.t. |
| 81 | Wout van Aert | Team Visma | Lease a Bike | s.t. |
| 82 | Gal Glivar | Alpecin-Premier Tech | s.t. |
| 83 | Attila Valter | Bahrain Victorious | s.t. |
| 84 | Hugo Houle | Alpecin-Premier Tech | s.t. |
| 85 | William Barta | Tudor Pro Cycling Team | s.t. |
| 86 | Edward Dunbar | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 87 | Rudy Molard | Groupama-FDJ United | s.t. |
| 88 | Frederik Wandahl | Red Bull-BORA-hansgrohe | 22:58 |
| 89 | Christophe Laporte | Team Visma | Lease a Bike | 23:14 |
| 90 | Pello Bilbao | Bahrain Victorious | 23:51 |
| 91 | Carlos Canal | Movistar Team | s.t. |
| 92 | Alastair Mackellar | EF Education-EasyPost | 23:52 |
| 93 | Darren Rafferty | EF Education-EasyPost | s.t. |
| 94 | Fredrik Dversnes | Uno-X Mobility | s.t. |
| 95 | George Bennett | NSN Cycling Team | s.t. |
| 96 | Lucas Hamilton | Netcompany INEOS Cycling Team | s.t. |
| 97 | Sylvain Moniquet | Cofidis | s.t. |
| 98 | Gianni Moscon | Red Bull-BORA-hansgrohe | s.t. |
| 99 | Vincenzo Albanese | EF Education-EasyPost | s.t. |
| 100 | Ibon Ruiz | Equipo Kern Pharma | s.t. |
| 101 | Simon Dalby | Uno-X Mobility | s.t. |
| 102 | Pau Martí | NSN Cycling Team | s.t. |
| 103 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | s.t. |
| 104 | Walter Calzoni | Pinarello-Q36.5 Pro Cycling Team | 24:57 |
| 105 | Alessandro Romele | XDS Astana Team | s.t. |
| 106 | Moritz Kretschy | NSN Cycling Team | 25:11 |
| 107 | Bastien Tronchon | Groupama-FDJ United | 25:54 |
| 108 | Domen Novak | UAE Team Emirates-XRG | 28:08 |
| 109 | Yevgeniy Fedorov | XDS Astana Team | 28:12 |
| 110 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 28:37 |
| 111 | Roland Thalmann | Tudor Pro Cycling Team | 29:13 |
| 112 | Mathijs Paasschens | Bahrain Victorious | s.t. |
| 113 | Ivan Cobo | Equipo Kern Pharma | 29:47 |
| 114 | Magnus Cort | Uno-X Mobility | 30:02 |
| 115 | Fabian Weiss | Tudor Pro Cycling Team | 30:08 |
| 116 | Sinuhé Fernandez | Burgos Burpellet BH | s.t. |
| 117 | Jesus Herrada | Burgos Burpellet BH | s.t. |
| 118 | Georg Steinhauser | EF Education-EasyPost | 30:10 |
| 119 | Jay Vine | UAE Team Emirates-XRG | 35:21 |
| 120 | Michael Gogl | Alpecin-Premier Tech | s.t. |
| 121 | Mads Pedersen | Lidl-Trek | s.t. |
| 122 | Lindsay De Vylder | Alpecin-Premier Tech | s.t. |
| 123 | Roman Ermakov | Bahrain Victorious | s.t. |
| 124 | Martin Tjøtta | Uno-X Mobility | s.t. |
| 125 | Ben Turner | Netcompany INEOS Cycling Team | s.t. |
| 126 | Andreas Leknessund | Uno-X Mobility | s.t. |
| 127 | Jørgen Nordhagen | Team Visma | Lease a Bike | s.t. |
| 128 | Oliver Peace | Team Picnic PostNL | s.t. |
| 129 | Matthew Brennan | Team Visma | Lease a Bike | s.t. |
| 130 | Orluis Aular | Movistar Team | s.t. |
| 131 | Lorenzo Rota | Lotto-Intermarché | s.t. |
| 132 | David de la Cruz | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 133 | David González | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 134 | Timo de Jong | Team Picnic PostNL | s.t. |
| 135 | Oscar Chamberlain | Decathlon CMA CGM Team | 37:38 |
| 136 | Ivo Oliveira | UAE Team Emirates-XRG | 37:49 |
| 137 | Jasha Sütterlin | Team Jayco-AlUla | 40:33 |
| 138 | Hamish McKenzie | Team Jayco-AlUla | s.t. |
| 139 | Steffen De Schuyteneer | Lotto-Intermarché | s.t. |
| 140 | Ivan Sosa | Equipo Kern Pharma | s.t. |
| 141 | Alberto Dainese | Soudal Quick-Step | s.t. |
| 142 | Jordi Meeus | Red Bull-BORA-hansgrohe | s.t. |
| 143 | Nick Schultz | NSN Cycling Team | s.t. |
| 144 | Matevz Govekar | Bahrain Victorious | s.t. |
| 145 | Timo Roosen | Team Picnic PostNL | s.t. |
| 146 | Vito Braet | Lotto-Intermarché | s.t. |
| 147 | Olivier Le Gac | Groupama-FDJ United | s.t. |
| 148 | Juan Martinez | Team Picnic PostNL | s.t. |
| 149 | Arthur Kluckers | Tudor Pro Cycling Team | s.t. |
| 150 | Lars Craps | Lotto-Intermarché | s.t. |
| 151 | Rasmus Tiller | Uno-X Mobility | s.t. |
| 152 | Marc Brustenga | Equipo Kern Pharma | s.t. |
| 153 | Mauri Vansevenant | Soudal Quick-Step | s.t. |
| 154 | Alexis Renard | Cofidis | s.t. |
| 155 | Fabio Van den Bossche | Soudal Quick-Step | s.t. |
| 156 | Callum Thornley | Red Bull-BORA-hansgrohe | s.t. |
| 157 | Asbjørn Hellemose | Team Jayco-AlUla | s.t. |
| 158 | Ben Tulett | Team Visma | Lease a Bike | s.t. |
| 159 | Alessandro Covi | Team Jayco-AlUla | s.t. |
| 160 | Clément Alleno | Burgos Burpellet BH | s.t. |
| 161 | Sente Sentjens | Alpecin-Premier Tech | s.t. |
| 162 | Francesco Busatto | Alpecin-Premier Tech | s.t. |
| 163 | Mats Wenzel | Equipo Kern Pharma | s.t. |
| 164 | Ethan Hayter | Soudal Quick-Step | s.t. |
| 165 | Paul Double | Team Jayco-AlUla | s.t. |
| 166 | Cesar Macias | Burgos Burpellet BH | 41:02 |
| 167 | Henri-Francois Haquin | Team Picnic PostNL | 41:39 |
| 168 | Bryan Coquard | Cofidis | s.t. |
| 169 | Louis Rouland | Cofidis | s.t. |
| 170 | Mathias Sunekær Norsgaard | Lidl-Trek | 42:01 |
GC after stage 9:
1,157.8 kilometers raced so far at an average speed of 40.529 km/hr
| 1 | Enric Mas | Movistar Team | 28hr 34min 3sec |
| 2 | Primoz Roglic | Red Bull-BORA-hansgrohe | @ 1min 18sec |
| 3 | Felix Gall | Decathlon CMA CGM Team | 1:39 |
| 4 | Oscar Onley | Netcompany INEOS Cycling Team | 2:20 |
| 5 | Richard Carapaz | EF Education-EasyPost | 3:26 |
| 6 | Mattias Skjelmose | Lidl-Trek | 3:55 |
| 7 | Sepp Kuss | Team Visma | Lease a Bike | 4:09 |
| 8 | Harold Tejada | XDS Astana Team | 4:39 |
| 9 | Gregor Mühlberger | Decathlon CMA CGM Team | 7:33 |
| 10 | Jakob Omrzel | Bahrain Victorious | 8:05 |
| 11 | Clément Berthet | Groupama-FDJ United | 9:32 |
| 12 | Jarno Widar | Lotto-Intermarché | 9:34 |
| 13 | Cristian Rodriguez | XDS Astana Team | 9:42 |
| 14 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 12:58 |
| 15 | Léo Bisiaux | Decathlon CMA CGM Team | 13:51 |
| 16 | Matthew Riccitello | Decathlon CMA CGM Team | 15:36 |
| 17 | Juan Rodríguez | EF Education-EasyPost | 16:54 |
| 18 | Ramses Debruyne | Alpecin-Premier Tech | 16:57 |
| 19 | Filippo Zana | Soudal Quick-Step | 24:01 |
| 20 | Finlay Pickering | Team Jayco-AlUla | 24:43 |
| 21 | Embret Svestad-Bårdseng | Netcompany INEOS Cycling Team | 27:36 |
| 22 | Jan Hirt | NSN Cycling Team | 31:05 |
| 23 | Mario Aparicio | Burgos Burpellet BH | 31:28 |
| 24 | Tobias Halland Johannessen | Uno-X Mobility | 32:14 |
| 25 | Raúl García | Movistar Team | 35:20 |
| 26 | Emanuel Buchmann | Cofidis | 40:17 |
| 27 | Santiago Buitrago | Bahrain Victorious | 41:12 |
| 28 | Pavel Sivakov | UAE Team Emirates-XRG | 41:48 |
| 29 | Carlos Rodriguez | Netcompany INEOS Cycling Team | 45:45 |
| 30 | Valentin Paret-Peintre | Soudal Quick-Step | 46:31 |
| 31 | Koen Bouwman | Team Jayco-AlUla | 47:12 |
| 32 | Gijs Leemreize | Team Picnic PostNL | 48:09 |
| 33 | Jack Haig | Netcompany INEOS Cycling Team | 48:23 |
| 34 | Valentin Madouas | Groupama-FDJ United | 49:05 |
| 35 | Milan Vader | Pinarello-Q36.5 Pro Cycling Team | 50:16 |
| 36 | Callum Scotson | Decathlon CMA CGM Team | 50:48 |
| 37 | Urko Berrade | Equipo Kern Pharma | 51:42 |
| 38 | Patrick Konrad | Lidl-Trek | 52:15 |
| 39 | Marcel Camprubí | Pinarello-Q36.5 Pro Cycling Team | 52:46 |
| 40 | Lawrence Warbasse | Tudor Pro Cycling Team | 52:56 |
| 41 | Attila Valter | Bahrain Victorious | 53:52 |
| 42 | Pello Bilbao | Bahrain Victorious | 54:03 |
| 43 | Gianmarco Garofoli | Soudal Quick-Step | 54:44 |
| 44 | Ibon Ruiz | Equipo Kern Pharma | 54:47 |
| 45 | Rudy Molard | Groupama-FDJ United | 55:51 |
| 46 | Wout van Aert | Team Visma | Lease a Bike | 55:53 |
| 47 | Mikel Landa | Soudal Quick-Step | 56:53 |
| 48 | Hugo Hofstetter | NSN Cycling Team | 57:41 |
| 49 | Edward Dunbar | Pinarello-Q36.5 Pro Cycling Team | 58:20 |
| 50 | Enzo Paleni | Groupama-FDJ United | 58:21 |
| 51 | Bruno Armirail | Team Visma | Lease a Bike | 58:34 |
| 52 | Thomas Gloag | Pinarello-Q36.5 Pro Cycling Team | 59:59 |
| 53 | Luke Tuckwell | Red Bull-BORA-hansgrohe | 1:00:02 |
| 54 | Jose Manuel Diaz | Burgos Burpellet BH | 1:00:26 |
| 55 | Hannes Wilksch | Tudor Pro Cycling Team | 1:00:40 |
| 56 | James Shaw | EF Education-EasyPost | 1:00:46 |
| 57 | William Barta | Tudor Pro Cycling Team | 1:00:48 |
| 58 | Lennard Kämna | Lidl-Trek | 1:02:47 |
| 59 | Sergio Samitier | Cofidis | 1:03:21 |
| 60 | Axel Laurance | Netcompany INEOS Cycling Team | 1:03:34 |
| 61 | Marco Brenner | Tudor Pro Cycling Team | 1:03:41 |
| 62 | Stefan Küng | Tudor Pro Cycling Team | 1:05:33 |
| 63 | Andreas Kron | Uno-X Mobility | 1:06:29 |
| 64 | George Bennett | NSN Cycling Team | 1:06:48 |
| 65 | Henok Mulubrhan | XDS Astana Team | 1:07:09 |
| 66 | Jørgen Nordhagen | Team Visma | Lease a Bike | 1:07:34 |
| 67 | Alexey Lutsenko | NSN Cycling Team | 1:08:44 |
| 68 | Carlos Canal | Movistar Team | 1:09:40 |
| 69 | Jay Vine | UAE Team Emirates-XRG | 1:09:42 |
| 70 | Pau Miquel Delgado | Bahrain Victorious | 1:11:27 |
| 71 | Iván Romeo | Movistar Team | 1:12:26 |
| 72 | Reuben Thompson | Lotto-Intermarché | 1:12:55 |
| 73 | Paul Ourselin | Cofidis | 1:13:05 |
| 74 | Frederik Wandahl | Red Bull-BORA-hansgrohe | 1:13:20 |
| 75 | Jordan Labrosse | Decathlon CMA CGM Team | 1:13:48 |
| 76 | Andreas Leknessund | Uno-X Mobility | 1:14:33 |
| 77 | Gianni Vermeersch | Red Bull-BORA-hansgrohe | 1:15:51 |
| 78 | Vincenzo Albanese | EF Education-EasyPost | 1:15:52 |
| 79 | Bastien Tronchon | Groupama-FDJ United | 1:16:11 |
| 80 | Fabian Weiss | Tudor Pro Cycling Team | 1:16:23 |
| 81 | Lorenzo Fortunato | XDS Astana Team | 1:16:47 |
| 82 | Clément Alleno | Burgos Burpellet BH | 1:17:10 |
| 83 | Roland Thalmann | Tudor Pro Cycling Team | 1:17:43 |
| 84 | Pau Martí | NSN Cycling Team | 1:18:38 |
| 85 | José Luis Faura | Burgos Burpellet BH | 1:18:46 |
| 86 | Sander De Pestel | Decathlon CMA CGM Team | 1:19:07 |
| 87 | Rémy Rochas | Groupama-FDJ United | 1:19:19 |
| 88 | Jorge Arcas | Movistar Team | 1:20:07 |
| 89 | Simon Dalby | Uno-X Mobility | 1:20:18 |
| 90 | Mauri Vansevenant | Soudal Quick-Step | 1:20:35 |
| 91 | Steven Kruijswijk | Team Visma | Lease a Bike | 1:20:42 |
| 92 | Hugo Houle | Alpecin-Premier Tech | 1:21:06 |
| 93 | Sylvain Moniquet | Cofidis | 1:21:40 |
| 94 | Ben Tulett | Team Visma | Lease a Bike | 1:21:56 |
| 95 | Thibau Nys | Lidl-Trek | 1:22:43 |
| 96 | Julien Bernard | Lidl-Trek | 1:23:52 |
| 97 | Kevin Vermaerke | UAE Team Emirates-XRG | 1:24:12 |
| 98 | Rudy Porter | Team Jayco-AlUla | 1:24:28 |
| 99 | Jacopo Mosca | Lidl-Trek | 1:24:37 |
| 100 | Pablo Castrillo | Movistar Team | 1:24:40 |
| 101 | Lars Craps | Lotto-Intermarché | 1:24:41 |
| 102 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 1:25:54 |
| 103 | Gal Glivar | Alpecin-Premier Tech | 1:27:04 |
| 103 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | s.t. |
| 105 | Lucas Hamilton | Netcompany INEOS Cycling Team | 1:29:35 |
| 106 | Mats Wenzel | Equipo Kern Pharma | 1:30:26 |
| 107 | Darren Rafferty | EF Education-EasyPost | 1:31:06 |
| 108 | Darren van Bekkum | XDS Astana Team | 1:31:21 |
| 109 | Fredrik Dversnes | Uno-X Mobility | 1:31:37 |
| 110 | Lorenzo Rota | Lotto-Intermarché | 1:32:00 |
| 111 | Moritz Kretschy | NSN Cycling Team | 1:32:43 |
| 112 | Christophe Laporte | Team Visma | Lease a Bike | 1:32:46 |
| 113 | Nick Schultz | NSN Cycling Team | 1:35:18 |
| 114 | Georg Steinhauser | EF Education-EasyPost | 1:35:59 |
| 115 | João Almeida | UAE Team Emirates-XRG | 1:36:55 |
| 116 | David de la Cruz | Pinarello-Q36.5 Pro Cycling Team | 1:37:45 |
| 117 | Walter Calzoni | Pinarello-Q36.5 Pro Cycling Team | 1:38:19 |
| 118 | Alessandro Romele | XDS Astana Team | 1:38:33 |
| 119 | Ivan Sosa | Equipo Kern Pharma | 1:39:47 |
| 120 | Jesus Herrada | Burgos Burpellet BH | 1:40:20 |
| 121 | Yevgeniy Fedorov | XDS Astana Team | 1:41:07 |
| 122 | Orluis Aular | Movistar Team | 1:41:42 |
| 123 | Michael Gogl | Alpecin-Premier Tech | 1:42:29 |
| 124 | Matthew Brennan | Team Visma | Lease a Bike | 1:44:25 |
| 125 | David González | Pinarello-Q36.5 Pro Cycling Team | 1:44:57 |
| 126 | Chris Hamilton | Team Picnic PostNL | 1:45:59 |
| 127 | Mads Pedersen | Lidl-Trek | 1:46:31 |
| 128 | Francesco Busatto | Alpecin-Premier Tech | 1:47:25 |
| 129 | Vito Braet | Lotto-Intermarché | 1:47:26 |
| 130 | Alessandro Covi | Team Jayco-AlUla | 1:47:30 |
| 131 | Ben Turner | Netcompany INEOS Cycling Team | 1:48:15 |
| 132 | Roman Ermakov | Bahrain Victorious | 1:48:35 |
| 133 | Magnus Cort | Uno-X Mobility | 1:48:40 |
| 134 | Bryan Coquard | Cofidis | 1:49:03 |
| 135 | Iñigo Elosegui | Equipo Kern Pharma | 1:49:53 |
| 136 | Alberto Dainese | Soudal Quick-Step | 1:50:12 |
| 137 | Mathijs Paasschens | Bahrain Victorious | 1:50:32 |
| 138 | Gianni Moscon | Red Bull-BORA-hansgrohe | 1:51:04 |
| 139 | Callum Thornley | Red Bull-BORA-hansgrohe | 1:51:22 |
| 140 | Fabio Van den Bossche | Soudal Quick-Step | 1:51:40 |
| 141 | Henri-Francois Haquin | Team Picnic PostNL | 1:52:00 |
| 142 | Timo de Jong | Team Picnic PostNL | 1:52:20 |
| 143 | Sinuhé Fernandez | Burgos Burpellet BH | 1:52:24 |
| 144 | Alastair Mackellar | EF Education-EasyPost | 1:52:46 |
| 145 | Jordi Meeus | Red Bull-BORA-hansgrohe | 1:53:28 |
| 146 | Ivan Cobo | Equipo Kern Pharma | 1:53:35 |
| 147 | Lindsay De Vylder | Alpecin-Premier Tech | 1:53:52 |
| 148 | Martin Tjøtta | Uno-X Mobility | 1:53:53 |
| 149 | Paul Double | Team Jayco-AlUla | 1:55:22 |
| 150 | Ethan Hayter | Soudal Quick-Step | 1:55:37 |
| 151 | Juan Martinez | Team Picnic PostNL | 1:57:44 |
| 152 | Matevz Govekar | Bahrain Victorious | 1:57:52 |
| 153 | Jasha Sütterlin | Team Jayco-AlUla | 1:58:35 |
| 154 | Cesar Macias | Burgos Burpellet BH | 1:58:48 |
| 155 | Oscar Chamberlain | Decathlon CMA CGM Team | 2:00:55 |
| 156 | Rasmus Tiller | Uno-X Mobility | 2:01:29 |
| 157 | Timo Roosen | Team Picnic PostNL | 2:02:03 |
| 158 | Olivier Le Gac | Groupama-FDJ United | 2:02:16 |
| 159 | Louis Rouland | Cofidis | 2:02:20 |
| 160 | Alexis Renard | Cofidis | 2:03:36 |
| 161 | Oliver Peace | Team Picnic PostNL | 2:04:04 |
| 162 | Steffen De Schuyteneer | Lotto-Intermarché | 2:04:06 |
| 163 | Marc Brustenga | Equipo Kern Pharma | 2:05:12 |
| 164 | Arthur Kluckers | Tudor Pro Cycling Team | 2:06:34 |
| 165 | Hamish McKenzie | Team Jayco-AlUla | 2:11:56 |
| 166 | Asbjørn Hellemose | Team Jayco-AlUla | 2:12:50 |
| 167 | Domen Novak | UAE Team Emirates-XRG | 2:15:19 |
| 168 | Ivo Oliveira | UAE Team Emirates-XRG | 2:19:17 |
| 169 | Mathias Sunekær Norsgaard | Lidl-Trek | 2:24:53 |
| 170 | Sente Sentjens | Alpecin-Premier Tech | 2:27:46 |
Stage 9 map & profile:

Stage 9 map

Stage 9 profile
Stage nine photos by Fotoreporter Sirotti:

Teams presentation ceremony: Sepp Kuss & Wout van Aert

Cuurent Best Young Rider Oscar Onley

Mountains classification leader Santiago Buitrago

GC leader Enric Mas

Mikel Landa heads to the start.

Here comes the peloton on a climb/

There goes the peloton

Enric Mas leads Oscar Onley on the climb to the finish. A bit back, Primoz Roglic is chasing.

A clearly happy Enric Mas wins stage nine.

Primoz Roglic finishes third in the stage.

Enric Mas will start stage ten on Tuesday in red.