
Sunday, September 6: Stage 15, Palma del Río - Córdoba, 180 110.2 km
Stage 15 map & profile | Stage 15 photos

Wout van Aert wins his second stage this Vuelta. Sirotti photo
David L. Stanley's masterful telling of his bout with skin cancer Melanoma: It Started with a Freckle is available in print, Kindle eBook and audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at the finish city of Códoba at 3:00 PM, local time: 39C (102F), sunny, with the wind from the east at 5 km/hr (3 mph). No rain is forecast.
Rated ascents:
The stage: Because of the high temperatures in Andalusia, the stage was shortened from 180 km to 110.2km.
Though the third-category Alto de Villaviciosa climb shows on the new, shortened stage 15 profile, it is not listed on the list of climbs, nor does it show on the revised map.
Córdoba’s Sierra Morena will host a winding stage with a leg-breaking terrain, before the final rest day. It will consist of a classic stage profile where the riders that are ahead may have an advantage during the traditional finale in Córdoba, where a reduced group may fight for victory.
The race: Here's the race organizer's stage 15 report:
Cordoba and the number two stand hand in hand for Wout van Aert (Visma-Lease a Bike) after the Belgian superstar powered to victory in the Andalusian town on stage 15 of La Vuelta 26. Two years ago, that was also where he took his second win in the Spanish Grand Tour, in a reduced bunch sprint. This time, he attacked to claim his second victory in La Vuelta 26. Only four rivals could follow the green jersey wearer in a relentless stage. But none could match his final kick to the line. Alessandro Romele (XDS Astana) finished second ahead of Thibau Nys (Lidl-Trek). Enric Mas (Movistar) finished safely in the peloton and retained La Roja ahead of the final week of this edition.
The stage
The route of stage 15 was modified following the activation of the high temperature protocol after a meeting with representatives of the Commissaires’ Panel, the teams, the riders and La Vuelta management, taking into account all the considerations raised by the different parties and the weather conditions forecast for today.
The new route is 110.2 km long from Palma del Rio (a new stage La Vuelta stage town) to Cordoba (where Magnus Cort and Wout van Aert have already won). The start and the finish are flat, but the middle section is packed with climbing for the attackers to try and upset the field.

At the start line before an afternoon of racing in blisteringly hot weather.
A battle at every turn
As expected, the pace is relentless from the get going. Enzo Paleni (Groupama-FDJ United) attacks as soon as the flag drops. The Frenchman tries again and again until he finds his opening at km 9.
Ten riders join him to make the break before the day’s hills: Frederik Wandahl (Red Bull-Bora-Hansgrohe), Ivo Oliveira (UAE Emirates-XRG), Xabier Mikel Azparren (Pinarello-Q36.5), Ethan Hayter (Soudal Quick-Step), Andreas Leknessund (Uno-X Mobility), Rudy Porter (Jayco AlUla), Alastair Mackellar (EF Education-EasyPost), Fabian Weiss (Tudor), Reuben Thompson (Lotto-Intermarché), Gijs Leemreize (Picnic-PostNL).
Bryan Coquard’s Cofidis and Visma-Lease a Bike - for Matthew Brennan or Wout van Aert? - set the pace in the bunch. The gap never gets higher than 1’17’’ at km 20.
More attacks on rolling terrain
With such a tight situation, Georg Steinhauser (EF Education-EasyPost) attacks on the first categorised climb of the day, the Puerto de la Forestal (cat. 3, summit at km 34.5). The German climber makes it a 12-man lead group 70 kilometres from the line.
More attackers push the pace on the rolling terrain leading to the second categorised climb of the day, the Puerto Artafi (cat. 3, km 73.6). Bruno Armirail (Visma-Lease a Bike) sets a strong pace in the bunch to cover their moves while the breakaway explodes.
As the race reaches the summit, Andreas Leknessund has dropped his breakaway companions. Ramses Debruyne (Alpecin-Premier Tech) is less than ten seconds behind the Norwegian winner of stage 7 (Aramon Valdelinares). And the gap to the bunch is down to 20 seconds.
Van Aert masters Cordoba
Leknessund and Debruyne get together ahead of the intermediate sprint (km 78.9). Alessandro Romele (XDS Astana) takes third place ahead of Wout van Aert, who keeps pushing. The chase duo rapidly catch the lead duo. Thibau Nys (Lidl-Trek) senses the danger and also bridges the gap.
Indeed, the five attackers make the difference while the pace drops in the peloton. Counter-attackers try to react. But they fail to get closer than 45 seconds behind the leaders, who start attacking each other as they enter Cordoba.
Thibau Nys kicks with 3 kilometres to go. Then Andreas Leknessund counter-attacks. But Van Aert is vigilant and strong. The Belgian superstar controls the situation until he powers to his second stage win in La Vuelta 26, and his second stage win in Cordoba. Alessandro Covi (Jayco AlUla) is the fastest of the chasers (+58’’). Enric Mas (Movistar) and the peloton cross the line with a gap of 2’44’’ on the eve of the second and final rest day.
Complete results:
110.2 kilometers raced at an average speed of 42.658 km/hr
| 1 | Wout van Aert | Team Visma | Lease a Bike | 2hr 35min 0sec |
| 2 | Alessandro Romele | XDS Astana Team | s.t. |
| 3 | Thibau Nys | Lidl-Trek | s.t. |
| 4 | Ramses Debruyne | Alpecin-Premier Tech | @ 2sec |
| 5 | Andreas Leknessund | Uno-X Mobility | s.t. |
| 6 | Alessandro Covi | Team Jayco-AlUla | 0:58 |
| 7 | Bastien Tronchon | Groupama-FDJ United | s.t. |
| 8 | Henok Mulubrhan | XDS Astana Team | s.t. |
| 9 | Stefan Küng | Tudor Pro Cycling Team | s.t. |
| 10 | Ivo Oliveira | UAE Team Emirates-XRG | s.t. |
| 11 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | s.t. |
| 12 | Mats Wenzel | Equipo Kern Pharma | s.t. |
| 13 | Edward Dunbar | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 14 | Ivan Cobo | Equipo Kern Pharma | s.t. |
| 15 | Tobias Halland Johannessen | Uno-X Mobility | s.t. |
| 16 | Urko Berrade | Equipo Kern Pharma | s.t. |
| 17 | Gijs Leemreize | Team Picnic PostNL | s.t. |
| 18 | Kevin Vermaerke | UAE Team Emirates-XRG | 1:03 |
| 19 | Enzo Paleni | Groupama-FDJ United | 1:05 |
| 20 | Magnus Cort | Uno-X Mobility | 1:47 |
| 21 | Pau Miquel Delgado | Bahrain Victorious | s.t. |
| 22 | Fabio Van den Bossche | Soudal Quick-Step | s.t. |
| 23 | Lorenzo Rota | Lotto-Intermarché | s.t. |
| 24 | Matthew Brennan | Team Visma | Lease a Bike | s.t. |
| 25 | Koen Bouwman | Team Jayco-AlUla | s.t. |
| 26 | Andreas Kron | Uno-X Mobility | 2:05 |
| 27 | Carlos Canal | Movistar Team | 2:44 |
| 28 | Raúl García | Movistar Team | s.t. |
| 29 | Enric Mas | Movistar Team | s.t. |
| 30 | Iván Romeo | Movistar Team | s.t. |
| 31 | Luke Tuckwell | Red Bull-BORA-hansgrohe | s.t. |
| 32 | Primoz Roglic | Red Bull-BORA-hansgrohe | s.t. |
| 33 | Julien Bernard | Lidl-Trek | s.t. |
| 34 | Gianni Vermeersch | Red Bull-BORA-hansgrohe | s.t. |
| 35 | Mattias Skjelmose | Lidl-Trek | s.t. |
| 36 | Lennard Kämna | Lidl-Trek | s.t. |
| 37 | James Shaw | EF Education-EasyPost | s.t. |
| 38 | Richard Carapaz | EF Education-EasyPost | s.t. |
| 39 | Juan Rodríguez | EF Education-EasyPost | s.t. |
| 40 | Felix Gall | Decathlon CMA CGM Team | s.t. |
| 41 | Léo Bisiaux | Decathlon CMA CGM Team | s.t. |
| 42 | Oscar Onley | Netcompany INEOS Cycling Team | s.t. |
| 43 | Fabian Weiss | Tudor Pro Cycling Team | s.t. |
| 44 | Lucas Hamilton | Netcompany INEOS Cycling Team | s.t. |
| 45 | Jack Haig | Netcompany INEOS Cycling Team | s.t. |
| 46 | Embret Svestad-Bårdseng | Netcompany INEOS Cycling Team | s.t. |
| 47 | Clément Berthet | Groupama-FDJ United | s.t. |
| 48 | Rudy Porter | Team Jayco-AlUla | s.t. |
| 49 | Bruno Armirail | Team Visma | Lease a Bike | s.t. |
| 50 | Carlos Rodriguez | Netcompany INEOS Cycling Team | s.t. |
| 51 | Fredrik Dversnes | Uno-X Mobility | s.t. |
| 52 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 53 | Jørgen Nordhagen | Team Visma | Lease a Bike | s.t. |
| 54 | Cristian Rodriguez | XDS Astana Team | s.t. |
| 55 | Jakob Omrzel | Bahrain Victorious | s.t. |
| 56 | Mikel Landa | Soudal Quick-Step | s.t. |
| 57 | Milan Vader | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 58 | Mario Aparicio | Burgos Burpellet BH | s.t. |
| 59 | Pello Bilbao | Bahrain Victorious | s.t. |
| 60 | Bryan Coquard | Cofidis | s.t. |
| 61 | Harold Tejada | XDS Astana Team | s.t. |
| 62 | Thomas Gloag | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 63 | Lawrence Warbasse | Tudor Pro Cycling Team | s.t. |
| 64 | Filippo Zana | Soudal Quick-Step | s.t. |
| 65 | Gianmarco Garofoli | Soudal Quick-Step | s.t. |
| 66 | Pau Martí | NSN Cycling Team | s.t. |
| 67 | Valentin Paret-Peintre | Soudal Quick-Step | s.t. |
| 68 | Guillaume Martin-Guyonnet | Groupama-FDJ United | s.t. |
| 69 | Jan Hirt | NSN Cycling Team | s.t. |
| 70 | Callum Scotson | Decathlon CMA CGM Team | s.t. |
| 71 | Ibon Ruiz | Equipo Kern Pharma | 7:32 |
| 72 | Ethan Hayter | Soudal Quick-Step | s.t. |
| 73 | Reuben Thompson | Lotto-Intermarché | s.t. |
| 74 | Steven Kruijswijk | Team Visma | Lease a Bike | s.t. |
| 75 | Sergio Samitier | Cofidis | s.t. |
| 76 | Alastair Mackellar | EF Education-EasyPost | s.t. |
| 77 | Georg Steinhauser | EF Education-EasyPost | s.t. |
| 78 | Axel Laurance | Netcompany INEOS Cycling Team | s.t. |
| 79 | Simon Dalby | Uno-X Mobility | s.t. |
| 80 | Marcel Camprubí | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 81 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 82 | Paul Ourselin | Cofidis | 9:25 |
| 83 | Emanuel Buchmann | Cofidis | s.t. |
| 84 | Iñigo Elosegui | Equipo Kern Pharma | s.t. |
| 85 | Mathijs Paasschens | Bahrain Victorious | s.t. |
| 86 | Steffen De Schuyteneer | Lotto-Intermarché | s.t. |
| 87 | Matthew Riccitello | Decathlon CMA CGM Team | s.t. |
| 88 | Jasha Sütterlin | Team Jayco-AlUla | s.t. |
| 89 | Attila Valter | Bahrain Victorious | s.t. |
| 90 | Clément Alleno | Burgos Burpellet BH | s.t. |
| 91 | Roland Thalmann | Tudor Pro Cycling Team | s.t. |
| 92 | Lorenzo Fortunato | XDS Astana Team | s.t. |
| 93 | Yevgeniy Fedorov | XDS Astana Team | s.t. |
| 94 | Hannes Wilksch | Tudor Pro Cycling Team | s.t. |
| 95 | Chris Hamilton | Team Picnic PostNL | s.t. |
| 96 | Marco Brenner | Tudor Pro Cycling Team | s.t. |
| 97 | Hugo Hofstetter | NSN Cycling Team | s.t. |
| 98 | Nick Schultz | NSN Cycling Team | s.t. |
| 99 | Jarno Widar | Lotto-Intermarché | 9:29 |
| 100 | Olivier Le Gac | Groupama-FDJ United | s.t. |
| 101 | Rudy Molard | Groupama-FDJ United | s.t. |
| 102 | Valentin Madouas | Groupama-FDJ United | s.t. |
| 103 | Jacopo Mosca | Lidl-Trek | s.t. |
| 104 | William Barta | Tudor Pro Cycling Team | s.t. |
| 105 | Jorge Arcas | Movistar Team | s.t. |
| 106 | Orluis Aular | Movistar Team | s.t. |
| 107 | Jose Manuel Diaz | Burgos Burpellet BH | s.t. |
| 108 | Gal Glivar | Alpecin-Premier Tech | s.t. |
| 109 | Pablo Castrillo | Movistar Team | s.t. |
| 110 | Michael Gogl | Alpecin-Premier Tech | s.t. |
| 111 | Patrick Konrad | Lidl-Trek | s.t. |
| 112 | Rasmus Tiller | Uno-X Mobility | s.t. |
| 113 | Martin Tjøtta | Uno-X Mobility | s.t. |
| 114 | Sinuhé Fernandez | Burgos Burpellet BH | s.t. |
| 115 | Finlay Pickering | Team Jayco-AlUla | s.t. |
| 116 | Walter Calzoni | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 117 | David de la Cruz | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 118 | Jesus Herrada | Burgos Burpellet BH | 12:30 |
| 119 | Sylvain Moniquet | Cofidis | s.t. |
| 120 | José Luis Faura | Burgos Burpellet BH | s.t. |
| 121 | Timo de Jong | Team Picnic PostNL | s.t. |
| 122 | Sander De Pestel | Decathlon CMA CGM Team | s.t. |
| 123 | Frederik Wandahl | Red Bull-BORA-hansgrohe | s.t. |
| 124 | Domen Novak | UAE Team Emirates-XRG | s.t. |
| 125 | Roman Ermakov | Bahrain Victorious | s.t. |
| 126 | Rémy Rochas | Groupama-FDJ United | s.t. |
| 127 | Santiago Buitrago | Bahrain Victorious | s.t. |
| 128 | Oscar Chamberlain | Decathlon CMA CGM Team | s.t. |
| 129 | Mauri Vansevenant | Soudal Quick-Step | s.t. |
| 130 | Cesar Macias | Burgos Burpellet BH | s.t. |
| 131 | Matevz Govekar | Bahrain Victorious | s.t. |
| 132 | Darren Rafferty | EF Education-EasyPost | 19:35 |
| 133 | Mathias Sunekær Norsgaard | Lidl-Trek | s.t. |
| 134 | Asbjørn Hellemose | Team Jayco-AlUla | s.t. |
| 135 | Alexis Renard | Cofidis | s.t. |
| 136 | João Almeida | UAE Team Emirates-XRG | s.t. |
| 137 | Vito Braet | Lotto-Intermarché | s.t. |
| 138 | Lars Craps | Lotto-Intermarché | s.t. |
| 139 | Louis Rouland | Cofidis | s.t. |
| 140 | Paul Double | Team Jayco-AlUla | s.t. |
| 141 | Marc Brustenga | Equipo Kern Pharma | s.t. |
| 142 | Vincenzo Albanese | EF Education-EasyPost | s.t. |
| 143 | Alberto Dainese | Soudal Quick-Step | s.t. |
| 144 | Ivan Sosa | Equipo Kern Pharma | s.t. |
| 145 | Juan Martinez | Team Picnic PostNL | s.t. |
| 146 | Darren van Bekkum | XDS Astana Team | s.t. |
| 147 | Jordi Meeus | Red Bull-BORA-hansgrohe | s.t. |
| 148 | Gianni Moscon | Red Bull-BORA-hansgrohe | s.t. |
| 149 | Callum Thornley | Red Bull-BORA-hansgrohe | s.t. |
| 150 | Timo Roosen | Team Picnic PostNL | 23:26 |
GC after stage 15:
2117.8 kilometers raced so far at an average speed of 40.650 km/hr
| 1 | Enric Mas | Movistar Team | 52hr 5min 56sec |
| 2 | Felix Gall | Decathlon CMA CGM Team | @ 2min 6sec |
| 3 | Primoz Roglic | Red Bull-BORA-hansgrohe | 2:10 |
| 4 | Richard Carapaz | EF Education-EasyPost | 4:24 |
| 5 | Oscar Onley | Netcompany INEOS Cycling Team | 5:44 |
| 6 | Jakob Omrzel | Bahrain Victorious | 6:14 |
| 7 | Mattias Skjelmose | Lidl-Trek | 6:49 |
| 8 | Cristian Rodriguez | XDS Astana Team | 7:01 |
| 9 | Clément Berthet | Groupama-FDJ United | 7:19 |
| 10 | Sepp Kuss | Team Visma | Lease a Bike | 8:55 |
| 11 | Harold Tejada | XDS Astana Team | 9:48 |
| 12 | Léo Bisiaux | Decathlon CMA CGM Team | 16:25 |
| 13 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 19:39 |
| 14 | Matthew Riccitello | Decathlon CMA CGM Team | 25:48 |
| 15 | Juan Rodríguez | EF Education-EasyPost | 29:46 |
| 16 | Mario Aparicio | Burgos Burpellet BH | 38:30 |
| 17 | Finlay Pickering | Team Jayco-AlUla | 39:19 |
| 18 | Filippo Zana | Soudal Quick-Step | 41:15 |
| 19 | Jan Hirt | NSN Cycling Team | 43:32 |
| 20 | Santiago Buitrago | Bahrain Victorious | 43:38 |
| 21 | Jarno Widar | Lotto-Intermarché | 43:45 |
| 22 | Raúl García | Movistar Team | 44:09 |
| 23 | Embret Svestad-Bårdseng | Netcompany INEOS Cycling Team | 49:30 |
| 24 | Koen Bouwman | Team Jayco-AlUla | 55:50 |
| 25 | Gijs Leemreize | Team Picnic PostNL | 1:00:48 |
| 26 | Jack Haig | Netcompany INEOS Cycling Team | 1:01:40 |
| 27 | Urko Berrade | Equipo Kern Pharma | 1:06:01 |
| 28 | Emanuel Buchmann | Cofidis | 1:06:49 |
| 29 | Tobias Halland Johannessen | Uno-X Mobility | 1:13:40 |
| 30 | Pello Bilbao | Bahrain Victorious | 1:15:47 |
| 31 | Callum Scotson | Decathlon CMA CGM Team | 1:18:21 |
| 32 | Valentin Paret-Peintre | Soudal Quick-Step | 1:18:59 |
| 33 | Patrick Konrad | Lidl-Trek | 1:20:57 |
| 34 | Jose Manuel Diaz | Burgos Burpellet BH | 1:22:53 |
| 35 | Marco Brenner | Tudor Pro Cycling Team | 1:23:20 |
| 36 | Ramses Debruyne | Alpecin-Premier Tech | 1:27:43 |
| 37 | Edward Dunbar | Pinarello-Q36.5 Pro Cycling Team | 1:27:44 |
| 38 | Henok Mulubrhan | XDS Astana Team | 1:29:07 |
| 39 | Mikel Landa | Soudal Quick-Step | 1:30:04 |
| 40 | Jørgen Nordhagen | Team Visma | Lease a Bike | 1:32:12 |
| 41 | Valentin Madouas | Groupama-FDJ United | 1:32:31 |
| 42 | Carlos Rodriguez | Netcompany INEOS Cycling Team | 1:32:43 |
| 43 | Lawrence Warbasse | Tudor Pro Cycling Team | 1:33:01 |
| 44 | Kevin Vermaerke | UAE Team Emirates-XRG | 1:35:05 |
| 45 | Milan Vader | Pinarello-Q36.5 Pro Cycling Team | 1:36:04 |
| 46 | Reuben Thompson | Lotto-Intermarché | 1:43:45 |
| 47 | Wout van Aert | Team Visma | Lease a Bike | 1:44:33 |
| 48 | Luke Tuckwell | Red Bull-BORA-hansgrohe | 1:45:45 |
| 49 | Lorenzo Fortunato | XDS Astana Team | 1:49:56 |
| 50 | Mauri Vansevenant | Soudal Quick-Step | 1:50:08 |
| 51 | Enzo Paleni | Groupama-FDJ United | 1:50:33 |
| 52 | James Shaw | EF Education-EasyPost | 1:51:25 |
| 53 | Paul Ourselin | Cofidis | 1:52:12 |
| 54 | Rudy Molard | Groupama-FDJ United | 1:52:37 |
| 55 | Hannes Wilksch | Tudor Pro Cycling Team | 1:52:59 |
| 56 | Attila Valter | Bahrain Victorious | 1:53:08 |
| 57 | Hugo Hofstetter | NSN Cycling Team | 1:53:34 |
| 58 | Julien Bernard | Lidl-Trek | 1:56:02 |
| 59 | Stefan Küng | Tudor Pro Cycling Team | 1:56:57 |
| 60 | Lennard Kämna | Lidl-Trek | 1:57:46 |
| 61 | Bruno Armirail | Team Visma | Lease a Bike | 1:58:39 |
| 62 | Andreas Kron | Uno-X Mobility | 1:58:43 |
| 63 | William Barta | Tudor Pro Cycling Team | 1:59:51 |
| 64 | Axel Laurance | Netcompany INEOS Cycling Team | 2:01:13 |
| 65 | Pau Martí | NSN Cycling Team | 2:02:21 |
| 66 | Gianmarco Garofoli | Soudal Quick-Step | 2:04:49 |
| 67 | Vincenzo Albanese | EF Education-EasyPost | 2:05:45 |
| 68 | Ibon Ruiz | Equipo Kern Pharma | 2:07:07 |
| 69 | Iván Romeo | Movistar Team | 2:08:34 |
| 70 | Andreas Leknessund | Uno-X Mobility | 2:08:37 |
| 71 | Fabian Weiss | Tudor Pro Cycling Team | 2:10:02 |
| 72 | Pau Miquel Delgado | Bahrain Victorious | 2:11:43 |
| 73 | Thomas Gloag | Pinarello-Q36.5 Pro Cycling Team | 2:12:42 |
| 74 | Bastien Tronchon | Groupama-FDJ United | 2:12:53 |
| 75 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | 2:13:13 |
| 76 | Clément Alleno | Burgos Burpellet BH | 2:15:22 |
| 77 | Marcel Camprubí | Pinarello-Q36.5 Pro Cycling Team | 2:15:46 |
| 78 | Simon Dalby | Uno-X Mobility | 2:17:11 |
| 79 | José Luis Faura | Burgos Burpellet BH | 2:17:44 |
| 80 | Rudy Porter | Team Jayco-AlUla | 2:17:52 |
| 81 | Rémy Rochas | Groupama-FDJ United | 2:19:21 |
| 82 | Steven Kruijswijk | Team Visma | Lease a Bike | 2:20:59 |
| 83 | Sander De Pestel | Decathlon CMA CGM Team | 2:21:10 |
| 84 | Walter Calzoni | Pinarello-Q36.5 Pro Cycling Team | 2:26:20 |
| 85 | João Almeida | UAE Team Emirates-XRG | 2:26:53 |
| 86 | Carlos Canal | Movistar Team | 2:28:07 |
| 87 | Jacopo Mosca | Lidl-Trek | 2:28:49 |
| 88 | Thibau Nys | Lidl-Trek | 2:29:04 |
| 89 | Alessandro Romele | XDS Astana Team | 2:30:44 |
| 90 | Lars Craps | Lotto-Intermarché | 2:31:19 |
| 91 | Sergio Samitier | Cofidis | 2:31:36 |
| 92 | Lucas Hamilton | Netcompany INEOS Cycling Team | 2:32:24 |
| 93 | Roland Thalmann | Tudor Pro Cycling Team | 2:33:06 |
| 94 | Gianni Vermeersch | Red Bull-BORA-hansgrohe | 2:33:36 |
| 95 | Frederik Wandahl | Red Bull-BORA-hansgrohe | 2:38:20 |
| 96 | Pablo Castrillo | Movistar Team | 2:38:54 |
| 97 | Jesus Herrada | Burgos Burpellet BH | 2:41:42 |
| 98 | Lorenzo Rota | Lotto-Intermarché | 2:43:14 |
| 99 | Ivan Sosa | Equipo Kern Pharma | 2:44:03 |
| 100 | Fredrik Dversnes | Uno-X Mobility | 2:46:39 |
| 101 | Matthew Brennan | Team Visma | Lease a Bike | 2:47:32 |
| 102 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 2:48:48 |
| 103 | Darren Rafferty | EF Education-EasyPost | 2:49:53 |
| 104 | Sylvain Moniquet | Cofidis | 2:50:14 |
| 105 | Jorge Arcas | Movistar Team | 2:52:39 |
| 106 | Gal Glivar | Alpecin-Premier Tech | 2:53:59 |
| 107 | Magnus Cort | Uno-X Mobility | 2:54:42 |
| 108 | Nick Schultz | NSN Cycling Team | 2:55:47 |
| 109 | Chris Hamilton | Team Picnic PostNL | 2:55:56 |
| 110 | Mathijs Paasschens | Bahrain Victorious | 2:58:49 |
| 111 | Yevgeniy Fedorov | XDS Astana Team | 3:00:35 |
| 112 | David de la Cruz | Pinarello-Q36.5 Pro Cycling Team | 3:02:17 |
| 113 | Martin Tjøtta | Uno-X Mobility | 3:02:26 |
| 114 | Georg Steinhauser | EF Education-EasyPost | 3:02:31 |
| 115 | Mats Wenzel | Equipo Kern Pharma | 3:04:20 |
| 116 | Bryan Coquard | Cofidis | 3:06:53 |
| 117 | Ivan Cobo | Equipo Kern Pharma | 3:08:01 |
| 118 | Roman Ermakov | Bahrain Victorious | 3:08:11 |
| 119 | Michael Gogl | Alpecin-Premier Tech | 3:08:45 |
| 120 | Sinuhé Fernandez | Burgos Burpellet BH | 3:09:07 |
| 121 | Ivo Oliveira | UAE Team Emirates-XRG | 3:10:19 |
| 122 | Darren van Bekkum | XDS Astana Team | 3:11:32 |
| 123 | Iñigo Elosegui | Equipo Kern Pharma | 3:12:50 |
| 124 | Timo de Jong | Team Picnic PostNL | 3:14:53 |
| 125 | Alastair Mackellar | EF Education-EasyPost | 3:16:00 |
| 126 | Alessandro Covi | Team Jayco-AlUla | 3:17:02 |
| 127 | Fabio Van den Bossche | Soudal Quick-Step | 3:18:06 |
| 128 | Orluis Aular | Movistar Team | 3:19:52 |
| 129 | Jasha Sütterlin | Team Jayco-AlUla | 3:21:32 |
| 130 | Olivier Le Gac | Groupama-FDJ United | 3:25:30 |
| 131 | Alberto Dainese | Soudal Quick-Step | 3:25:46 |
| 132 | Gianni Moscon | Red Bull-BORA-hansgrohe | 3:25:58 |
| 133 | Oscar Chamberlain | Decathlon CMA CGM Team | 3:27:02 |
| 134 | Rasmus Tiller | Uno-X Mobility | 3:29:09 |
| 135 | Vito Braet | Lotto-Intermarché | 3:33:19 |
| 136 | Callum Thornley | Red Bull-BORA-hansgrohe | 3:34:03 |
| 137 | Juan Martinez | Team Picnic PostNL | 3:35:25 |
| 138 | Cesar Macias | Burgos Burpellet BH | 3:35:46 |
| 139 | Steffen De Schuyteneer | Lotto-Intermarché | 3:42:08 |
| 140 | Alexis Renard | Cofidis | 3:42:53 |
| 141 | Matevz Govekar | Bahrain Victorious | 3:44:48 |
| 142 | Paul Double | Team Jayco-AlUla | 3:46:33 |
| 143 | Marc Brustenga | Equipo Kern Pharma | 3:47:08 |
| 144 | Asbjørn Hellemose | Team Jayco-AlUla | 3:54:39 |
| 145 | Jordi Meeus | Red Bull-BORA-hansgrohe | 4:00:03 |
| 146 | Domen Novak | UAE Team Emirates-XRG | 4:01:52 |
| 147 | Louis Rouland | Cofidis | 4:03:07 |
| 148 | Ethan Hayter | Soudal Quick-Step | 4:03:09 |
| 149 | Timo Roosen | Team Picnic PostNL | 4:23:45 |
| 150 | Mathias Sunekær Norsgaard | Lidl-Trek | 4:57:50 |
Stage 15 map & profile:

Map of the shortened 15th stage

Profile of the shortened 15th stage.
Stage 15 photos by Fotoreporter Sirotti:

GC leader Enric Mas heads to the start wearing a cooling vest.

GC second-place Felix Gall

GC third-place Primoz Roglic

Best Young Rider Oscar Onley

A warm Wout van Aert wipes away some sweat before the stage start.

Bastien Tronchon wearing a cooling vest and eating an ice pop.

Wout van aert (left) and Thibau Nys set for a drag race to the finish.

Wout van Aert wins stage fifteen, his second stage win this Vuelta.

Stage winner Wout van Aert on the podium getting help with the green points classification leader's jersey.

Enric Mas will start stage 16 on Tuesday in the red GC leader's jersey.