
Friday, September 11: Stage 19, Vélez Málaga - Peñas Blancas. Estepona, 210.8 km
Stage 19 map & profile | Stage 19 photos

Eddie Dunbar wins stage nineteen. Alone.
Les Woodland's book Tour de France: The Inside Story - Making the World's Greatest Bicycle Race is available in print, Kindle eBook and audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at Estepona, on the route, 25 km from the finish, at 2:45 PM, local time: 27C (81F), fair, with the wind from the east-southeast at 18 km/hr (11 mph). There is just a 1% chance of rain.
Rated ascents:
The stage: Initially this is a flat stage, where the Serranía de Ronda will really weigh on the riders’ legs before the final ascent to Peñas Blancas. At this particular point of the race, it could be the right time for an escape.
The race: Stage 18 winner Stefan Küng did not start. He has withdrawn from the Vuelta to prepare for the world time trial championships in Montréal on September 20. Yevgeny Fedorov (XDS Astana) also did not start. Early in the stage Paul Double (Jayco AlUla) abandoned.
Here's the race organizer's stage nineteen report:
Eddie Dunbar (Pinarello Q36.5) achieved a spectacular and emotional performance to fly to a summit victory at Peñas Blancas on stage 19 of La Vuelta 26. Affected by serious injuries in a training crash earlier this year, the Irish climber regained his best form to take his first victory in two years. His last wins came at La Vuelta 24, in Padrón and on Picon Blanco.
This time, the Irishman beat Santiago Buitrago (Bahrain Victory) to the line after an exhilarating finale to cap off an attacking festival - it took almost three hours of battle before the breakaway was established. Among the GC contenders, Richard Carapaz (EF Education–EasyPost) kick-started the action with over 100 km to go, but his rivals controlled the Ecuadorian, and Enric Mas (Movistar) maintained his grip on La Roja on the eve of the final mountain stage.
The stage:
Back to the mountains! After a couple of sprint stages and the ITT to kick-start the final week of La Vuelta 26, the riders face two mountain showdowns before Sunday’s finale in Granada. Stage 19 is entirely held in the province of Malaga, on familiar and demanding roads leading to a brutal summit finish at Peñas Blancas, where Richard Carapaz (EF Education-EasyPost) claimed victory in 2022.
With 210.8 kilometres from Vélez-Málaga to Peñas Blancas, today is the longest stage of La Vuelta 26. The other 200+ kilometres stage of this edition was on day 2 (Monaco > Manosque, 202.1 km). But it was a rolling day, while today is a proper mountain stage, with over 4,000 metres of elevation gain.
Carapaz gets involved in a massive battle
With fewer and fewer opportunities to shine, attackers are determined to battle it out on the mountains of Malaga. After the start from Vélez-Malága, a brutal battle immediately begins. It will take almost three hours at a brutal pace to establish a 16-man breakaway.
After 65 kilometres, seven riders lead the way, including Ivo Oliveira and Kevin Vermaerke for UAE Emirates XRG, as well as Andreas Leknessund and Tobias Johannessen for Uno-X Mobility. The battle goes on up the Puerto de las Abejas (cat. 2, summit at km 91.0). Some 20 riders lead the way… But they fail to consolidate the break.
Up the Puerto del Viento (cat. 2, km 111.3), Sepp Kuss (Visma-Lease a Bike) and more attackers get in the mix. As a reduced peloton gets back to the leaders, Eddie Dunbar (Pinarello Q36.5) sets off 10.5 km from the summit. Behind him, Richard Carapaz (EF Education-EasyPost) kick-starts the GC action but his rivals are vigilant.
Dunbar crests the climb alone, and 16 chasers join him on the downhill, including Vermaerke and Leknessund. Darren Rafferty (EF Education-EasyPost) is also up there, but he sits back… Carapaz has attacked again! Rafferty tries to pace him to the front but the Irishman suffers a mechanical and the Ecuadorian attacker eventually waits for the bunch.
Dunbar frustrates Buitrago, Roglic has a go
As the peloton get back to Carapaz at km 125, the situation finally settles. The attackers work well together, and the peloton take it easier as there are no GC threats at the front - Guillaume Martin-Guyonnet is 13th overall, 21’23’’ behind the overall leader Enric Mas (Movistar). The gap increases to over 7 minutes before Red Bull-Bora-Hansgrohe increase the pace before the final climb. At the bottom of the Peñas Blancas ascent (cat. 1, 18.8 km at 6.5%), the peloton trail by six and a half minutes.
After a first acceleration from Rudy Molard (Groupama-FDJ United), Santiago Buitrago (Bahrain Victorious) attacks with 13 kilometres to go. Three riders join him at the front: Dunbar, his Pinarello Q36.5 teammate Thomas Gloag, and Urko Berrade (Kern Pharma). Buitrago attacks again into the final 2 kilometres. He rapidly opens a gap… but Dunbar chases him and passes him with 350 metres to go to take his first win since e La Vuelta 24. Third at Calar Alto, second at Sierra de la Pandera, Buitrago is once again beaten to the line.
In the GC group, EF Education-EasyPost increase the pace. But this time, it’s Primoz Roglic (Red Bull-Bora-Hansgrohe) who attacks inside the final 2 kilometres. His rivals manage to get back to the Slovenian. Stage 20 is set to decide the GC battle with a most demanding finish at Collado del Alguacil.
Complete Results:
210.8 kilometers raced at an average speed of 42.034 km/hr
| 1 | Edward Dunbar | Pinarello-Q36.5 Pro Cycling Team | 5hr 0min 54sec |
| 2 | Santiago Buitrago | Bahrain Victorious | @ 14sec |
| 3 | Thomas Gloag | Pinarello-Q36.5 Pro Cycling Team | 0:23 |
| 4 | Urko Berrade | Equipo Kern Pharma | 0:44 |
| 5 | Marcel Camprubí | Pinarello-Q36.5 Pro Cycling Team | 1:44 |
| 6 | Andreas Leknessund | Uno-X Mobility | 2:01 |
| 7 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 2:11 |
| 8 | Chris Hamilton | Team Picnic PostNL | 2:39 |
| 9 | Kevin Vermaerke | UAE Team Emirates-XRG | 3:03 |
| 10 | Sergio Samitier | Cofidis | 3:17 |
| 11 | Rudy Molard | Groupama-FDJ United | 3:49 |
| 12 | Felix Gall | Decathlon CMA CGM Team | 5:11 |
| 13 | Richard Carapaz | EF Education-EasyPost | s.t. |
| 14 | Primoz Roglic | Red Bull-BORA-hansgrohe | s.t. |
| 15 | Oscar Onley | Netcompany INEOS Cycling Team | s.t. |
| 16 | Enric Mas | Movistar Team | s.t. |
| 17 | Jakob Omrzel | Bahrain Victorious | 5:17 |
| 18 | Clément Berthet | Groupama-FDJ United | 5:21 |
| 19 | Sepp Kuss | Team Visma | Lease a Bike | 5:41 |
| 20 | Harold Tejada | XDS Astana Team | s.t. |
| 21 | Cristian Rodriguez | XDS Astana Team | s.t. |
| 22 | Léo Bisiaux | Decathlon CMA CGM Team | 5:52 |
| 23 | Mario Aparicio | Burgos Burpellet BH | 6:06 |
| 24 | Matthew Riccitello | Decathlon CMA CGM Team | s.t. |
| 25 | Jan Hirt | NSN Cycling Team | s.t. |
| 26 | Mattias Skjelmose | Lidl-Trek | 6:26 |
| 27 | Rudy Porter | Team Jayco-AlUla | 6:59 |
| 28 | Darren van Bekkum | XDS Astana Team | 7:19 |
| 29 | Pello Bilbao | Bahrain Victorious | 8:13 |
| 30 | Jack Haig | Netcompany INEOS Cycling Team | s.t. |
| 31 | Mats Wenzel | Equipo Kern Pharma | 8:15 |
| 32 | Juan Rodríguez | EF Education-EasyPost | 8:18 |
| 33 | Pablo Castrillo | Movistar Team | 8:23 |
| 34 | Pau Miquel Delgado | Bahrain Victorious | 8:53 |
| 35 | Patrick Konrad | Lidl-Trek | s.t. |
| 36 | Attila Valter | Bahrain Victorious | 9:27 |
| 37 | Emanuel Buchmann | Cofidis | 10:02 |
| 38 | Filippo Zana | Soudal Quick-Step | 10:52 |
| 39 | Callum Scotson | Decathlon CMA CGM Team | 11:03 |
| 40 | Koen Bouwman | Team Jayco-AlUla | 11:44 |
| 41 | Carlos Rodriguez | Netcompany INEOS Cycling Team | 13:07 |
| 42 | Jose Manuel Diaz | Burgos Burpellet BH | 13:53 |
| 43 | Gijs Leemreize | Team Picnic PostNL | 14:21 |
| 44 | José Luis Faura | Burgos Burpellet BH | s.t. |
| 45 | Julien Bernard | Lidl-Trek | 14:26 |
| 46 | Bastien Tronchon | Groupama-FDJ United | s.t. |
| 47 | Henok Mulubrhan | XDS Astana Team | s.t. |
| 48 | Mikel Landa | Soudal Quick-Step | 15:39 |
| 49 | Milan Vader | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 50 | Raúl García | Movistar Team | 15:50 |
| 51 | Iván Romeo | Movistar Team | s.t. |
| 52 | Gianmarco Garofoli | Soudal Quick-Step | 16:51 |
| 53 | Rémy Rochas | Groupama-FDJ United | s.t. |
| 54 | Valentin Madouas | Groupama-FDJ United | 17:00 |
| 55 | Paul Ourselin | Cofidis | s.t. |
| 56 | Luke Tuckwell | Red Bull-BORA-hansgrohe | 17:46 |
| 57 | Lucas Hamilton | Netcompany INEOS Cycling Team | s.t. |
| 58 | Embret Svestad-Bårdseng | Netcompany INEOS Cycling Team | s.t. |
| 59 | Roland Thalmann | Tudor Pro Cycling Team | 18:30 |
| 60 | Lorenzo Fortunato | XDS Astana Team | 19:03 |
| 61 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | 19:44 |
| 62 | Sylvain Moniquet | Cofidis | 20:47 |
| 63 | Tobias Halland Johannessen | Uno-X Mobility | 21:37 |
| 64 | Enzo Paleni | Groupama-FDJ United | s.t. |
| 65 | Lawrence Warbasse | Tudor Pro Cycling Team | s.t. |
| 66 | Michael Gogl | Alpecin-Premier Tech | s.t. |
| 67 | Hannes Wilksch | Tudor Pro Cycling Team | s.t. |
| 68 | Gianni Moscon | Red Bull-BORA-hansgrohe | 22:45 |
| 69 | Callum Thornley | Red Bull-BORA-hansgrohe | s.t. |
| 70 | Clément Alleno | Burgos Burpellet BH | 23:19 |
| 71 | Sinuhé Fernandez | Burgos Burpellet BH | s.t. |
| 72 | Jesus Herrada | Burgos Burpellet BH | s.t. |
| 73 | Pau Martí | NSN Cycling Team | s.t. |
| 74 | Mathijs Paasschens | Bahrain Victorious | s.t. |
| 75 | Gianni Vermeersch | Red Bull-BORA-hansgrohe | 24:06 |
| 76 | Frederik Wandahl | Red Bull-BORA-hansgrohe | 24:31 |
| 77 | Ivan Cobo | Equipo Kern Pharma | 25:50 |
| 78 | Iñigo Elosegui | Equipo Kern Pharma | s.t. |
| 79 | Lennard Kämna | Lidl-Trek | s.t. |
| 80 | Mauri Vansevenant | Soudal Quick-Step | s.t. |
| 81 | Louis Rouland | Cofidis | 26:15 |
| 82 | Steven Kruijswijk | Team Visma | Lease a Bike | 26:26 |
| 83 | Martin Tjøtta | Uno-X Mobility | 26:31 |
| 84 | Jørgen Nordhagen | Team Visma | Lease a Bike | s.t. |
| 85 | Gal Glivar | Alpecin-Premier Tech | s.t. |
| 86 | Nick Schultz | NSN Cycling Team | s.t. |
| 87 | Reuben Thompson | Lotto-Intermarché | 26:47 |
| 88 | Rasmus Tiller | Uno-X Mobility | 27:18 |
| 89 | Fredrik Dversnes | Uno-X Mobility | s.t. |
| 90 | Carlos Canal | Movistar Team | 27:48 |
| 91 | Jacopo Mosca | Lidl-Trek | s.t. |
| 92 | Andreas Kron | Uno-X Mobility | 28:52 |
| 93 | Magnus Cort | Uno-X Mobility | s.t. |
| 94 | Bruno Armirail | Team Visma | Lease a Bike | s.t. |
| 95 | Axel Laurance | Netcompany INEOS Cycling Team | s.t. |
| 96 | Valentin Paret-Peintre | Soudal Quick-Step | s.t. |
| 97 | Wout van Aert | Team Visma | Lease a Bike | s.t. |
| 98 | Sander De Pestel | Decathlon CMA CGM Team | s.t. |
| 99 | Lars Craps | Lotto-Intermarché | s.t. |
| 100 | Ramses Debruyne | Alpecin-Premier Tech | s.t. |
| 101 | Jarno Widar | Lotto-Intermarché | s.t. |
| 102 | Alessandro Romele | XDS Astana Team | s.t. |
| 103 | Juan Martinez | Team Picnic PostNL | s.t. |
| 104 | Ibon Ruiz | Equipo Kern Pharma | s.t. |
| 105 | Oscar Chamberlain | Decathlon CMA CGM Team | s.t. |
| 106 | Timo de Jong | Team Picnic PostNL | 29:28 |
| 107 | Jorge Arcas | Movistar Team | 29:47 |
| 108 | Orluis Aular | Movistar Team | s.t. |
| 109 | Marco Brenner | Tudor Pro Cycling Team | s.t. |
| 110 | Walter Calzoni | Pinarello-Q36.5 Pro Cycling Team | 31:43 |
| 111 | Thibau Nys | Lidl-Trek | s.t. |
| 112 | David de la Cruz | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 113 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 114 | Fabian Weiss | Tudor Pro Cycling Team | 34:13 |
| 115 | James Shaw | EF Education-EasyPost | s.t. |
| 116 | Matthew Brennan | Team Visma | Lease a Bike | s.t. |
| 117 | Steffen De Schuyteneer | Lotto-Intermarché | s.t. |
| 118 | Asbjørn Hellemose | Team Jayco-AlUla | s.t. |
| 119 | Alessandro Covi | Team Jayco-AlUla | s.t. |
| 120 | Darren Rafferty | EF Education-EasyPost | s.t. |
| 121 | Alberto Dainese | Soudal Quick-Step | s.t. |
| 122 | Ivan Sosa | Equipo Kern Pharma | s.t. |
| 123 | Hugo Hofstetter | NSN Cycling Team | s.t. |
| 124 | Simon Dalby | Uno-X Mobility | s.t. |
| 125 | Marc Brustenga | Equipo Kern Pharma | s.t. |
| 126 | Jasha Sütterlin | Team Jayco-AlUla | s.t. |
| 127 | Olivier Le Gac | Groupama-FDJ United | s.t. |
| 128 | Bryan Coquard | Cofidis | s.t. |
| 129 | Mathias Sunekær Norsgaard | Lidl-Trek | s.t. |
| 130 | Roman Ermakov | Bahrain Victorious | s.t. |
| 131 | William Barta | Tudor Pro Cycling Team | s.t. |
| 132 | Vito Braet | Lotto-Intermarché | s.t. |
| 133 | Lorenzo Rota | Lotto-Intermarché | s.t. |
| 134 | Vincenzo Albanese | EF Education-EasyPost | s.t. |
| 135 | João Almeida | UAE Team Emirates-XRG | s.t. |
| 136 | Cesar Macias | Burgos Burpellet BH | s.t. |
| 137 | Georg Steinhauser | EF Education-EasyPost | s.t. |
| 138 | Alastair Mackellar | EF Education-EasyPost | s.t. |
| 139 | Jordi Meeus | Red Bull-BORA-hansgrohe | 35:05 |
| 140 | Ethan Hayter | Soudal Quick-Step | s.t. |
| 141 | Fabio Van den Bossche | Soudal Quick-Step | s.t. |
| 142 | Matevz Govekar | Bahrain Victorious | s.t. |
| 143 | Domen Novak | UAE Team Emirates-XRG | s.t. |
| 144 | Finlay Pickering | Team Jayco-AlUla | 35:08 |
| 145 | Ivo Oliveira | UAE Team Emirates-XRG | 35:56 |
GC after stage 19:
2,725.8 kilometers raced so far at an average speed of 41.383 km/hr
| 1 | Enric Mas | Movistar Team | 65hr 52min 3sec |
| 2 | Primoz Roglic | Red Bull-BORA-hansgrohe | 1:37 |
| 3 | Felix Gall | Decathlon CMA CGM Team | 3:01 |
| 4 | Richard Carapaz | EF Education-EasyPost | 5:17 |
| 5 | Oscar Onley | Netcompany INEOS Cycling Team | 6:03 |
| 6 | Jakob Omrzel | Bahrain Victorious | 7:06 |
| 7 | Clément Berthet | Groupama-FDJ United | 7:57 |
| 8 | Cristian Rodriguez | XDS Astana Team | 8:21 |
| 9 | Mattias Skjelmose | Lidl-Trek | 9:06 |
| 10 | Harold Tejada | XDS Astana Team | 10:27 |
| 11 | Sepp Kuss | Team Visma | Lease a Bike | 11:04 |
| 12 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 18:19 |
| 13 | Léo Bisiaux | Decathlon CMA CGM Team | 19:17 |
| 14 | Matthew Riccitello | Decathlon CMA CGM Team | 27:52 |
| 15 | Juan Rodríguez | EF Education-EasyPost | 36:18 |
| 16 | Mario Aparicio | Burgos Burpellet BH | 40:49 |
| 17 | Santiago Buitrago | Bahrain Victorious | 42:34 |
| 18 | Jan Hirt | NSN Cycling Team | 47:45 |
| 19 | Filippo Zana | Soudal Quick-Step | 48:58 |
| 20 | Raúl García | Movistar Team | 1:00:13 |
| 21 | Urko Berrade | Equipo Kern Pharma | 1:03:51 |
| 22 | Koen Bouwman | Team Jayco-AlUla | 1:04:40 |
| 23 | Embret Svestad-Bårdseng | Netcompany INEOS Cycling Team | 1:05:00 |
| 24 | Jack Haig | Netcompany INEOS Cycling Team | 1:09:31 |
| 25 | Finlay Pickering | Team Jayco-AlUla | 1:10:54 |
| 26 | Gijs Leemreize | Team Picnic PostNL | 1:12:23 |
| 27 | Emanuel Buchmann | Cofidis | 1:14:45 |
| 28 | Jarno Widar | Lotto-Intermarché | 1:21:00 |
| 29 | Pello Bilbao | Bahrain Victorious | 1:23:39 |
| 30 | Edward Dunbar | Pinarello-Q36.5 Pro Cycling Team | 1:25:41 |
| 31 | Callum Scotson | Decathlon CMA CGM Team | 1:28:29 |
| 32 | Patrick Konrad | Lidl-Trek | 1:28:58 |
| 33 | Tobias Halland Johannessen | Uno-X Mobility | 1:34:07 |
| 34 | Kevin Vermaerke | UAE Team Emirates-XRG | 1:35:06 |
| 35 | Jose Manuel Diaz | Burgos Burpellet BH | 1:35:35 |
| 36 | Henok Mulubrhan | XDS Astana Team | 1:42:18 |
| 37 | Carlos Rodriguez | Netcompany INEOS Cycling Team | 1:43:09 |
| 38 | Mikel Landa | Soudal Quick-Step | 1:43:49 |
| 39 | Valentin Madouas | Groupama-FDJ United | 1:46:27 |
| 40 | Valentin Paret-Peintre | Soudal Quick-Step | 1:48:44 |
| 41 | Milan Vader | Pinarello-Q36.5 Pro Cycling Team | 1:49:38 |
| 42 | Lawrence Warbasse | Tudor Pro Cycling Team | 1:49:54 |
| 43 | Rudy Molard | Groupama-FDJ United | 1:54:23 |
| 44 | Ramses Debruyne | Alpecin-Premier Tech | 1:57:55 |
| 45 | Marco Brenner | Tudor Pro Cycling Team | 1:59:04 |
| 46 | Attila Valter | Bahrain Victorious | 2:00:17 |
| 47 | Jørgen Nordhagen | Team Visma | Lease a Bike | 2:04:49 |
| 48 | Luke Tuckwell | Red Bull-BORA-hansgrohe | 2:05:47 |
| 49 | Paul Ourselin | Cofidis | 2:07:23 |
| 50 | Wout van Aert | Team Visma | Lease a Bike | 2:07:42 |
| 51 | Julien Bernard | Lidl-Trek | 2:09:01 |
| 52 | Lorenzo Fortunato | XDS Astana Team | 2:09:43 |
| 53 | Enzo Paleni | Groupama-FDJ United | 2:10:25 |
| 54 | Reuben Thompson | Lotto-Intermarché | 2:12:12 |
| 55 | Hannes Wilksch | Tudor Pro Cycling Team | 2:12:44 |
| 56 | Andreas Leknessund | Uno-X Mobility | 2:13:56 |
| 57 | Mauri Vansevenant | Soudal Quick-Step | 2:15:57 |
| 58 | Marcel Camprubí | Pinarello-Q36.5 Pro Cycling Team | 2:17:49 |
| 59 | Pau Miquel Delgado | Bahrain Victorious | 2:18:44 |
| 60 | Thomas Gloag | Pinarello-Q36.5 Pro Cycling Team | 2:18:56 |
| 61 | Gianmarco Garofoli | Soudal Quick-Step | 2:19:23 |
| 62 | James Shaw | EF Education-EasyPost | 2:21:41 |
| 63 | Bruno Armirail | Team Visma | Lease a Bike | 2:21:54 |
| 64 | Rudy Porter | Team Jayco-AlUla | 2:22:43 |
| 65 | Pau Martí | NSN Cycling Team | 2:22:48 |
| 66 | Lennard Kämna | Lidl-Trek | 2:22:49 |
| 67 | Bastien Tronchon | Groupama-FDJ United | 2:26:19 |
| 68 | Hugo Hofstetter | NSN Cycling Team | 2:27:04 |
| 69 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | 2:28:10 |
| 70 | Axel Laurance | Netcompany INEOS Cycling Team | 2:28:15 |
| 71 | Andreas Kron | Uno-X Mobility | 2:28:18 |
| 72 | Luis Faura José | Burgos Burpellet BH | 2:32:13 |
| 73 | William Barta | Tudor Pro Cycling Team | 2:33:06 |
| 74 | Ibon Ruiz | Equipo Kern Pharma | 2:33:37 |
| 75 | Rémy Rochas | Groupama-FDJ United | 2:35:03 |
| 76 | Clément Alleno | Burgos Burpellet BH | 2:37:20 |
| 77 | Vincenzo Albanese | EF Education-EasyPost | 2:40:56 |
| 78 | Sergio Samitier | Cofidis | 2:41:23 |
| 79 | Fabian Weiss | Tudor Pro Cycling Team | 2:41:53 |
| 80 | Iván Romeo | Movistar Team | 2:44:56 |
| 81 | Sander De Pestel | Decathlon CMA CGM Team | 2:46:21 |
| 82 | Steven Kruijswijk | Team Visma | Lease a Bike | 2:46:36 |
| 83 | Lucas Hamilton | Netcompany INEOS Cycling Team | 2:49:38 |
| 84 | Roland Thalmann | Tudor Pro Cycling Team | 2:50:23 |
| 85 | Jacopo Mosca | Lidl-Trek | 2:53:30 |
| 86 | Simon Dalby | Uno-X Mobility | 2:54:08 |
| 87 | Carlos Canal | Movistar Team | 2:55:35 |
| 88 | Chris Hamilton | Team Picnic PostNL | 2:56:45 |
| 89 | Gianni Vermeersch | Red Bull-BORA-hansgrohe | 2:57:05 |
| 90 | Alessandro Romele | XDS Astana Team | 2:58:29 |
| 91 | Walter Calzoni | Pinarello-Q36.5 Pro Cycling Team | 2:59:04 |
| 92 | Lars Craps | Lotto-Intermarché | 3:01:16 |
| 93 | Frederik Wandahl | Red Bull-BORA-hansgrohe | 3:02:46 |
| 94 | Pablo Castrillo | Movistar Team | 3:03:31 |
| 95 | Jesus Herrada | Burgos Burpellet BH | 3:03:52 |
| 96 | João Almeida | UAE Team Emirates-XRG | 3:03:57 |
| 97 | Fredrik Dversnes | Uno-X Mobility | 3:11:44 |
| 98 | Mats Wenzel | Equipo Kern Pharma | 3:12:44 |
| 99 | Lorenzo Rota | Lotto-Intermarché | 3:16:00 |
| 100 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 3:16:33 |
| 101 | Gal Glivar | Alpecin-Premier Tech | 3:18:19 |
| 102 | Matthew Brennan | Team Visma | Lease a Bike | 3:19:29 |
| 103 | Mathijs Paasschens | Bahrain Victorious | 3:21:50 |
| 104 | Magnus Cort | Uno-X Mobility | 3:22:09 |
| 105 | Nick Schultz | NSN Cycling Team | 3:22:10 |
| 106 | Ivan Sosa | Equipo Kern Pharma | 3:22:47 |
| 107 | Sylvain Moniquet | Cofidis | 3:23:10 |
| 108 | Darren Rafferty | EF Education-EasyPost | 3:23:37 |
| 109 | Darren van Bekkum | XDS Astana Team | 3:23:47 |
| 110 | Jorge Arcas | Movistar Team | 3:25:58 |
| 111 | Michael Gogl | Alpecin-Premier Tech | 3:28:08 |
| 112 | Martin Tjøtta | Uno-X Mobility | 3:29:01 |
| 113 | Thibau Nys | Lidl-Trek | 3:31:47 |
| 114 | Ivan Cobo | Equipo Kern Pharma | 3:34:00 |
| 115 | Georg Steinhauser | EF Education-EasyPost | 3:35:00 |
| 116 | Iñigo Elosegui | Equipo Kern Pharma | 3:38:03 |
| 117 | Sinuhé Fernandez | Burgos Burpellet BH | 3:38:34 |
| 118 | Bryan Coquard | Cofidis | 3:38:38 |
| 119 | David de la Cruz | Pinarello-Q36.5 Pro Cycling Team | 3:39:15 |
| 120 | Roman Ermakov | Bahrain Victorious | 3:41:29 |
| 121 | Ivo Oliveira | UAE Team Emirates-XRG | 3:42:07 |
| 122 | Timo de Jong | Team Picnic PostNL | 3:44:07 |
| 123 | Gianni Moscon | Red Bull-BORA-hansgrohe | 3:47:42 |
| 124 | Orluis Aular | Movistar Team | 3:48:56 |
| 125 | Alastair Mackellar | EF Education-EasyPost | 3:50:09 |
| 126 | Oscar Chamberlain | Decathlon CMA CGM Team | 3:50:45 |
| 127 | Jasha Sütterlin | Team Jayco-AlUla | 3:50:58 |
| 128 | Fabio Van den Bossche | Soudal Quick-Step | 3:51:52 |
| 129 | Callum Thornley | Red Bull-BORA-hansgrohe | 3:54:52 |
| 130 | Alessandro Covi | Team Jayco-AlUla | 3:56:16 |
| 131 | Rasmus Tiller | Uno-X Mobility | 3:56:18 |
| 132 | Alberto Dainese | Soudal Quick-Step | 3:57:15 |
| 133 | Olivier Le Gac | Groupama-FDJ United | 3:58:39 |
| 134 | Vito Braet | Lotto-Intermarché | 4:06:03 |
| 135 | Juan Martinez | Team Picnic PostNL | 4:07:04 |
| 136 | Cesar Macias | Burgos Burpellet BH | 4:08:42 |
| 137 | Steffen De Schuyteneer | Lotto-Intermarché | 4:12:22 |
| 138 | Matevz Govekar | Bahrain Victorious | 4:18:22 |
| 139 | Marc Brustenga | Equipo Kern Pharma | 4:20:06 |
| 140 | Ethan Hayter | Soudal Quick-Step | 4:33:15 |
| 141 | Jordi Meeus | Red Bull-BORA-hansgrohe | 4:33:39 |
| 142 | Asbjørn Hellemose | Team Jayco-AlUla | 4:34:49 |
| 143 | Louis Rouland | Cofidis | 4:35:07 |
| 144 | Domen Novak | UAE Team Emirates-XRG | 4:43:14 |
| 145 | Mathias Sunekær Norsgaard | Lidl-Trek | 5:28:08 |
Stage 19 map & profile:

Stage 19 map

Stage 19 profile
Stage 19 photos by Fotoreporter Sirotti:

Are they all really that far back? Stage winner Eddie Dunbar looks back as he wins the stage.

King of the Mountains Santiago Buitrago finishes second.

Thomas Gloag was third across the line.

Richard Carapaz was 13th.

GC second place Primoz Roglic was 14th across the line. On his wheel are Oscar Onley and Enric Mas.

GC leader Enric Mas finsihes 16th.

Wout van Aert just after finishing the stage.

Primoz Roglic jusfter the stage.

Stage winner Eddie Dunbar

Wout van Aert remains the points classification leader

Enric Mas has two more stages to go to call this Vuelta his own.