
Thursday, September 10: Stage 18, El Puerto de Santa Maria - Jerez de la Frontera 32.1 km individual time trial
Stage 18 map & profile | Stage 18 photos

Stefan Küng riding to first place in the stage.
Les Woodland's book Cycling's World Championships: The Inside Story 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 Jerez de la Frontera at 2:50 PM, local time: 27C (80F), sunny, with the wind from the south-southwest at 18 km/hr (11 mph). No rain is forecast.
The stage: This is the 2026 Vuelta's second time trial. The riders will depart from the Cádiz coastline in a terrain where the wind may play an important role. The day is expected to mark differences among the favorites.
The race: First rider off is the last man in the GC standings, Mathias Sunekaer Norsgaard, at 2:07 PM.
Alexis Renard (Cofidis) did not start.
Here's the race organizer's stage 18 summary:
Two years after opening his Grand Tour tally in Madrid, Stefan Küng (Tudor) dominated stage 18 of La Vuelta 26, a 32.1-kilometre individual time trial between El Puerto de Santa María and Jerez de la Frontera. The Swiss specialist averaged 54.4 km/h to take the victory, three seconds ahead of Callum Thornley (Red Bull-Bora-Hansgrohe), while João Almeida (UAE Team Emirates-XRG) completed the stage’s top three, 9 seconds behind. Fourth on the day, Primož Roglič (Red Bull-Bora-Hansgrohe) gained 33 seconds on Enric Mas (Movistar), who finished 12th in Jerez de la Frontera and retained La Roja with a lead of 1’37’’ over his Slovenian runner-up. Felix Gall (Decathlon CMA CGM) dropped to third place, 3’01’’ behind. Friday will bring a completely different type of challenge, with a mountain showdown in the province of Malaga ahead of the final weekend in Granada.
The stage:
There are only four stages to go to Granada, and stage 18 is a decisive one with a 32.1 km individual time trial from El Puerto de Santa Maria to Jerez de la Frontera. On the roads of Cadiz, powerhouses battle for the stage win and GC contenders test their strength ahead of the two final mountain showdowns in the provinces of Malaga and Granada.
The race:
The 149 riders who finished stage 17 start in reverse order of the overall standings, from last to first. Matias Sunekær Norsgaard (Lidl-Trek) goes first, at 14:07. The riders start at one-minute intervals until Raul Garcia Pierna (Movistar) sets off at 16:15. Then, the top 20 riders in GC will go every two minutes, finishing with the current overall podium: Primoz Roglic (Red Bull-Bora-Hansgrohe) at 16:51, Felix Gall (Decathlon CMA CGM) at 16:53, and eventually Enric Mas (Movistar) at 16:55.

Ivan Romero (Movistar) starts his ride in the Plaza de Toros de El Puerto, a historic bullring.
Thornley stronger than Hayter and Almeida
Two British specialists start early: Ethan Hayter (Soudal Quick-Step) at 14:11, and Callum Thornley (Red Bull-Bora-Hansgrohe) at 14:19. After he saw Tadej Pogacar (UAE Emirates XRG) snatch the victory by the smallest gap in Monaco, Hayter is out for revenge. He sets the first benchmark: 35’54’’… That’s not enough to resist Thornley, who finishes in 35’25’’ and takes the hot seat.
With a strong start, Joao Almeida (UAE Emirates XRG) leads the way at the first intermediate checkpoint (km 11.7), almost three seconds ahead of Thornley. But the Portuguese star is 0.27 second behind at the second checkpoint (km 22.1), and he eventually trails by six seconds at the finish.
Mas impresses
After 11.7 km, Stefan Küng (Tudor) is in between Almeida (+1’’) and Thornley (-1’’). The Swissman pushes the pace in the midsection and takes the best time at km 22.1, 11 seconds ahead of the Scotsman. Thornley was faster in the final section, but Küng takes the best time at the line: 35’22’’ (54.4 km/h). Wout van Aert (Visma-Lease a Bike) challenges his performance with a strong start but the Belgian superstar fades and eventually crosses the line with a gap of 20 seconds.
Among the GC contenders, Primoz Roglic (Red Bull-Bora-Hansgrohe) perfectly manages his effort to finish 4th, 19 seconds behind Küng. That’s enough to recover the second place overall, 1’37’’ behind Enric Mas (Movistar), who finishes 12th in Jerez de la Frontera (+52’’), while Felix Gall (Decathlon CMA CGM) drops to third place in GC (+3’01’’). With a place of 17th on the day (+1’11’’), Oscar Onley (Netcompany Ineos) increases his lead of the young riders’ standings to 57’’ over Jakob Omrzel (Bahrain Victorious).
Complete results:
32.1 kilometers raced at an average speed of 54.458 km/hr
| 1 | Stefan Küng | Tudor Pro Cycling Team | 35min 22sec |
| 2 | Callum Thornley | Red Bull-BORA-hansgrohe | @ 3sec |
| 3 | João Almeida | UAE Team Emirates-XRG | 0:09 |
| 4 | Primoz Roglic | Red Bull-BORA-hansgrohe | 0:19 |
| 5 | Wout van Aert | Team Visma | Lease a Bike | 0:20 |
| 6 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | 0:21 |
| 7 | Bruno Armirail | Team Visma | Lease a Bike | 0:26 |
| 8 | Ivo Oliveira | UAE Team Emirates-XRG | 0:30 |
| 9 | Ethan Hayter | Soudal Quick-Step | 0:32 |
| 10 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 0:33 |
| 11 | Georg Steinhauser | EF Education-EasyPost | 0:48 |
| 12 | Enric Mas | Movistar Team | 0:52 |
| 13 | Oscar Chamberlain | Decathlon CMA CGM Team | 0:54 |
| 14 | Pablo Castrillo | Movistar Team | 0:55 |
| 15 | Yevgeniy Fedorov | XDS Astana Team | 1:01 |
| 16 | Harold Tejada | XDS Astana Team | s.t. |
| 17 | Oscar Onley | Netcompany INEOS Cycling Team | 1:11 |
| 18 | Lawrence Warbasse | Tudor Pro Cycling Team | 1:19 |
| 19 | Jasha Sütterlin | Team Jayco-AlUla | 1:20 |
| 20 | Clément Berthet | Groupama-FDJ United | 1:20 |
| 21 | Jakob Omrzel | Bahrain Victorious | 1:38 |
| 22 | Cristian Rodriguez | XDS Astana Team | 1:42 |
| 23 | Alastair Mackellar | EF Education-EasyPost | 1:43 |
| 24 | Richard Carapaz | EF Education-EasyPost | 1:45 |
| 25 | Darren Rafferty | EF Education-EasyPost | s.t. |
| 26 | Felix Gall | Decathlon CMA CGM Team | 1:47 |
| 27 | Enzo Paleni | Groupama-FDJ United | 1:52 |
| 28 | Mattias Skjelmose | Lidl-Trek | 1:54 |
| 29 | Matthew Riccitello | Decathlon CMA CGM Team | 2:01 |
| 30 | Steffen De Schuyteneer | Lotto-Intermarché | 2:04 |
| 31 | James Shaw | EF Education-EasyPost | 2:06 |
| 32 | Mathias Sunekær Norsgaard | Lidl-Trek | 2:08 |
| 33 | Mario Aparicio | Burgos Burpellet BH | 2:16 |
| 34 | David de la Cruz | Pinarello-Q36.5 Pro Cycling Team | 2:21 |
| 35 | Sander De Pestel | Decathlon CMA CGM Team | 2:22 |
| 36 | Valentin Madouas | Groupama-FDJ United | 2:27 |
| 37 | Finlay Pickering | Team Jayco-AlUla | 2:30 |
| 38 | Sepp Kuss | Team Visma | Lease a Bike | 2:31 |
| 39 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 2:36 |
| 40 | Kevin Vermaerke | UAE Team Emirates-XRG | 2:41 |
| 41 | Edward Dunbar | Pinarello-Q36.5 Pro Cycling Team | 2:45 |
| 42 | Filippo Zana | Soudal Quick-Step | 2:54 |
| 43 | Jacopo Mosca | Lidl-Trek | 2:56 |
| 44 | Léo Bisiaux | Decathlon CMA CGM Team | 3:03 |
| 45 | William Barta | Tudor Pro Cycling Team | 3:08 |
| 46 | Urko Berrade | Equipo Kern Pharma | 3:09 |
| 47 | Juan Martinez | Team Picnic PostNL | s.t. |
| 48 | Koen Bouwman | Team Jayco-AlUla | s.t. |
| 49 | Pau Martí | NSN Cycling Team | 3:11 |
| 50 | Steven Kruijswijk | Team Visma | Lease a Bike | 3:17 |
| 51 | Gijs Leemreize | Team Picnic PostNL | s.t. |
| 52 | Alberto Dainese | Soudal Quick-Step | 3:19 |
| 53 | Carlos Rodriguez | Netcompany INEOS Cycling Team | 3:22 |
| 54 | Gianni Vermeersch | Red Bull-BORA-hansgrohe | 3:26 |
| 55 | Paul Ourselin | Cofidis | s.t. |
| 56 | Jesus Herrada | Burgos Burpellet BH | 3:27 |
| 57 | Domen Novak | UAE Team Emirates-XRG | 3:35 |
| 58 | Hannes Wilksch | Tudor Pro Cycling Team | 3:39 |
| 59 | Andreas Leknessund | Uno-X Mobility | 3:40 |
| 60 | Ibon Ruiz | Equipo Kern Pharma | 3:41 |
| 61 | Fabian Weiss | Tudor Pro Cycling Team | s.t. |
| 62 | Bryan Coquard | Cofidis | 3:43 |
| 63 | Attila Valter | Bahrain Victorious | 3:45 |
| 64 | Gianmarco Garofoli | Soudal Quick-Step | 3:46 |
| 65 | Louis Rouland | Cofidis | s.t. |
| 66 | Embret Svestad-Bårdseng | Netcompany INEOS Cycling Team | 3:47 |
| 67 | Michael Gogl | Alpecin-Premier Tech | 3:49 |
| 68 | Fredrik Dversnes | Uno-X Mobility | 3:50 |
| 69 | Gal Glivar | Alpecin-Premier Tech | 3:52 |
| 70 | Rudy Porter | Team Jayco-AlUla | 3:55 |
| 71 | Emanuel Buchmann | Cofidis | 3:57 |
| 72 | Milan Vader | Pinarello-Q36.5 Pro Cycling Team | 3:58 |
| 73 | Nick Schultz | NSN Cycling Team | 4:02 |
| 74 | Rudy Molard | Groupama-FDJ United | s.t. |
| 75 | Matthew Brennan | Team Visma | Lease a Bike | 4:07 |
| 76 | Mikel Landa | Soudal Quick-Step | 4:09 |
| 77 | Jan Hirt | NSN Cycling Team | 4:10 |
| 78 | Sergio Samitier | Cofidis | 4:11 |
| 79 | Pau Miquel Delgado | Bahrain Victorious | s.t. |
| 80 | Axel Laurance | Netcompany INEOS Cycling Team | 4:13 |
| 81 | Chris Hamilton | Team Picnic PostNL | s.t. |
| 82 | Jack Haig | Netcompany INEOS Cycling Team | 4:16 |
| 83 | Juan Rodríguez | EF Education-EasyPost | 4:17 |
| 84 | Mauri Vansevenant | Soudal Quick-Step | 4:18 |
| 85 | Walter Calzoni | Pinarello-Q36.5 Pro Cycling Team | 4:19 |
| 86 | Tobias Halland Johannessen | Uno-X Mobility | 4:21 |
| 87 | Martin Tjøtta | Uno-X Mobility | 4:23 |
| 88 | Frederik Wandahl | Red Bull-BORA-hansgrohe | 4:24 |
| 89 | Mats Wenzel | Equipo Kern Pharma | 4:26 |
| 90 | Sinuhé Fernandez | Burgos Burpellet BH | 4:28 |
| 91 | Matevz Govekar | Bahrain Victorious | 4:32 |
| 92 | Thibau Nys | Lidl-Trek | s.t. |
| 93 | Lucas Hamilton | Netcompany INEOS Cycling Team | 4:36 |
| 94 | Lorenzo Rota | Lotto-Intermarché | s.t. |
| 95 | Julien Bernard | Lidl-Trek | s.t. |
| 96 | Vito Braet | Lotto-Intermarché | 4:38 |
| 97 | Jordi Meeus | Red Bull-BORA-hansgrohe | 4:40 |
| 98 | Clément Alleno | Burgos Burpellet BH | 4:42 |
| 99 | Magnus Cort | Uno-X Mobility | s.t. |
| 100 | Fabio Van den Bossche | Soudal Quick-Step | 4:44 |
| 101 | Cesar Macias | Burgos Burpellet BH | 4:46 |
| 102 | Henok Mulubrhan | XDS Astana Team | 4:48 |
| 103 | Marc Brustenga | Equipo Kern Pharma | s.t. |
| 104 | Vincenzo Albanese | EF Education-EasyPost | s.t. |
| 105 | Ramses Debruyne | Alpecin-Premier Tech | s.t. |
| 106 | Sylvain Moniquet | Cofidis | 4:50 |
| 107 | Santiago Buitrago | Bahrain Victorious | 4:51 |
| 108 | Alessandro Covi | Team Jayco-AlUla | 4:52 |
| 109 | Jorge Arcas | Movistar Team | s.t. |
| 110 | Roland Thalmann | Tudor Pro Cycling Team | s.t. |
| 111 | Jose Manuel Diaz | Burgos Burpellet BH | s.t. |
| 112 | Rémy Rochas | Groupama-FDJ United | 4:54 |
| 113 | Alessandro Romele | XDS Astana Team | 4:56 |
| 114 | Raúl García | Movistar Team | 4:57 |
| 115 | Olivier Le Gac | Groupama-FDJ United | 4:59 |
| 116 | Gianni Moscon | Red Bull-BORA-hansgrohe | 5:02 |
| 117 | Bastien Tronchon | Groupama-FDJ United | 5:03 |
| 118 | Jørgen Nordhagen | Team Visma | Lease a Bike | s.t. |
| 119 | Roman Ermakov | Bahrain Victorious | 5:08 |
| 120 | Callum Scotson | Decathlon CMA CGM Team | s.t. |
| 121 | Carlos Canal | Movistar Team | 5:10 |
| 122 | Patrick Konrad | Lidl-Trek | 5:11 |
| 123 | Iván Romeo | Movistar Team | 5:13 |
| 124 | Lennard Kämna | Lidl-Trek | 5:16 |
| 125 | Orluis Aular | Movistar Team | 5:20 |
| 126 | Hugo Hofstetter | NSN Cycling Team | s.t. |
| 127 | Rasmus Tiller | Uno-X Mobility | 5:22 |
| 128 | Iñigo Elosegui | Equipo Kern Pharma | 5:26 |
| 129 | Ivan Cobo | Equipo Kern Pharma | 5:40 |
| 130 | Andreas Kron | Uno-X Mobility | 5:41 |
| 131 | Pello Bilbao | Bahrain Victorious | 5:42 |
| 132 | Mathijs Paasschens | Bahrain Victorious | 5:45 |
| 133 | Marcel Camprubí | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 134 | Asbjørn Hellemose | Team Jayco-AlUla | 5:48 |
| 135 | Timo de Jong | Team Picnic PostNL | 5:49 |
| 136 | Valentin Paret-Peintre | Soudal Quick-Step | 6:01 |
| 137 | Paul Double | Team Jayco-AlUla | s.t. |
| 138 | Darren van Bekkum | XDS Astana Team | 6:03 |
| 139 | José Luis Faura | Burgos Burpellet BH | 6:11 |
| 140 | Lars Craps | Lotto-Intermarché | 6:13 |
| 141 | Thomas Gloag | Pinarello-Q36.5 Pro Cycling Team | 6:17 |
| 142 | Marco Brenner | Tudor Pro Cycling Team | 6:19 |
| 143 | Lorenzo Fortunato | XDS Astana Team | 6:47 |
| 144 | Reuben Thompson | Lotto-Intermarché | 6:48 |
| 145 | Jarno Widar | Lotto-Intermarché | 6:59 |
| 146 | Simon Dalby | Uno-X Mobility | 7:03 |
| 147 | Luke Tuckwell | Red Bull-BORA-hansgrohe | 7:24 |
| 148 | Ivan Sosa | Equipo Kern Pharma | 7:49 |
GC after stage 18:
2,515 kilometers raced so far at an average speed of 41.388 km/hr
| 1 | Enric Mas | Movistar Team | 60hr 45min 58sec |
| 2 | Primoz Roglic | Red Bull-BORA-hansgrohe | @ 1min 37sec |
| 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:00 |
| 7 | Clément Berthet | Groupama-FDJ United | 7:47 |
| 8 | Mattias Skjelmose | Lidl-Trek | 7:51 |
| 9 | Cristian Rodriguez | XDS Astana Team | s.t. |
| 10 | Harold Tejada | XDS Astana Team | 9:57 |
| 11 | Sepp Kuss | Team Visma | Lease a Bike | 10:34 |
| 12 | Léo Bisiaux | Decathlon CMA CGM Team | 18:36 |
| 13 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 21:23 |
| 14 | Matthew Riccitello | Decathlon CMA CGM Team | 26:57 |
| 15 | Juan Rodríguez | EF Education-EasyPost | 33:11 |
| 16 | Mario Aparicio | Burgos Burpellet BH | 39:54 |
| 17 | Finlay Pickering | Team Jayco-AlUla | 40:57 |
| 18 | Filippo Zana | Soudal Quick-Step | 43:17 |
| 19 | Jan Hirt | NSN Cycling Team | 46:50 |
| 20 | Santiago Buitrago | Bahrain Victorious | 47:37 |
| 21 | Raúl García | Movistar Team | 49:34 |
| 22 | Embret Svestad-Bårdseng | Netcompany INEOS Cycling Team | 52:25 |
| 23 | Jarno Widar | Lotto-Intermarché | 57:19 |
| 24 | Koen Bouwman | Team Jayco-AlUla | 58:07 |
| 25 | Gijs Leemreize | Team Picnic PostNL | 1:03:13 |
| 26 | Jack Haig | Netcompany INEOS Cycling Team | 1:06:29 |
| 27 | Urko Berrade | Equipo Kern Pharma | 1:08:18 |
| 28 | Emanuel Buchmann | Cofidis | 1:09:54 |
| 29 | Tobias Halland Johannessen | Uno-X Mobility | 1:17:41 |
| 30 | Pello Bilbao | Bahrain Victorious | 1:20:37 |
| 31 | Callum Scotson | Decathlon CMA CGM Team | 1:22:37 |
| 32 | Valentin Paret-Peintre | Soudal Quick-Step | 1:25:03 |
| 33 | Patrick Konrad | Lidl-Trek | 1:25:16 |
| 34 | Jose Manuel Diaz | Burgos Burpellet BH | 1:26:53 |
| 35 | Edward Dunbar | Pinarello-Q36.5 Pro Cycling Team | 1:31:02 |
| 36 | Henok Mulubrhan | XDS Astana Team | 1:33:03 |
| 37 | Mikel Landa | Soudal Quick-Step | 1:33:21 |
| 38 | Lawrence Warbasse | Tudor Pro Cycling Team | 1:33:28 |
| 39 | Ramses Debruyne | Alpecin-Premier Tech | 1:34:14 |
| 40 | Marco Brenner | Tudor Pro Cycling Team | 1:34:28 |
| 41 | Valentin Madouas | Groupama-FDJ United | 1:34:38 |
| 42 | Carlos Rodriguez | Netcompany INEOS Cycling Team | 1:35:13 |
| 43 | Kevin Vermaerke | UAE Team Emirates-XRG | 1:37:20 |
| 44 | Milan Vader | Pinarello-Q36.5 Pro Cycling Team | 1:39:10 |
| 45 | Jørgen Nordhagen | Team Visma | Lease a Bike | 1:43:29 |
| 46 | Wout van Aert | Team Visma | Lease a Bike | 1:44:01 |
| 47 | Reuben Thompson | Lotto-Intermarché | 1:50:36 |
| 48 | James Shaw | EF Education-EasyPost | 1:52:39 |
| 49 | Luke Tuckwell | Red Bull-BORA-hansgrohe | 1:53:12 |
| 50 | Enzo Paleni | Groupama-FDJ United | 1:53:59 |
| 51 | Mauri Vansevenant | Soudal Quick-Step | 1:55:18 |
| 52 | Paul Ourselin | Cofidis | 1:55:34 |
| 53 | Rudy Molard | Groupama-FDJ United | 1:55:47 |
| 54 | Lorenzo Fortunato | XDS Astana Team | 1:55:51 |
| 55 | Attila Valter | Bahrain Victorious | 1:56:01 |
| 56 | Stefan Küng | Tudor Pro Cycling Team | 1:56:05 |
| 57 | Hannes Wilksch | Tudor Pro Cycling Team | 1:56:18 |
| 58 | Hugo Hofstetter | NSN Cycling Team | 1:58:02 |
| 59 | Bruno Armirail | Team Visma | Lease a Bike | 1:58:13 |
| 60 | Julien Bernard | Lidl-Trek | 1:59:46 |
| 61 | Lennard Kämna | Lidl-Trek | 2:02:10 |
| 62 | William Barta | Tudor Pro Cycling Team | 2:04:04 |
| 63 | Axel Laurance | Netcompany INEOS Cycling Team | 2:04:34 |
| 64 | Andreas Kron | Uno-X Mobility | 2:04:37 |
| 65 | Pau Martí | NSN Cycling Team | 2:04:40 |
| 66 | Gianmarco Garofoli | Soudal Quick-Step | 2:07:43 |
| 67 | Ibon Ruiz | Equipo Kern Pharma | 2:09:56 |
| 68 | Vincenzo Albanese | EF Education-EasyPost | 2:11:54 |
| 69 | Fabian Weiss | Tudor Pro Cycling Team | 2:12:51 |
| 70 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | 2:13:37 |
| 71 | Pau Miquel Delgado | Bahrain Victorious | 2:15:02 |
| 72 | Bastien Tronchon | Groupama-FDJ United | 2:17:04 |
| 73 | Andreas Leknessund | Uno-X Mobility | 2:17:06 |
| 74 | Clément Alleno | Burgos Burpellet BH | 2:19:12 |
| 75 | Rudy Porter | Team Jayco-AlUla | 2:20:55 |
| 76 | Marcel Camprubí | Pinarello-Q36.5 Pro Cycling Team | 2:21:16 |
| 77 | Sander De Pestel | Decathlon CMA CGM Team | 2:22:40 |
| 78 | José Luis Faura | Burgos Burpellet BH | 2:23:03 |
| 79 | Rémy Rochas | Groupama-FDJ United | 2:23:23 |
| 80 | Thomas Gloag | Pinarello-Q36.5 Pro Cycling Team | 2:23:48 |
| 81 | Simon Dalby | Uno-X Mobility | 2:25:06 |
| 82 | Steven Kruijswijk | Team Visma | Lease a Bike | 2:25:21 |
| 83 | Jacopo Mosca | Lidl-Trek | 2:30:53 |
| 84 | Walter Calzoni | Pinarello-Q36.5 Pro Cycling Team | 2:32:32 |
| 85 | Carlos Canal | Movistar Team | 2:32:58 |
| 86 | Iván Romeo | Movistar Team | 2:34:17 |
| 87 | Alessandro Romele | XDS Astana Team | 2:34:48 |
| 88 | João Almeida | UAE Team Emirates-XRG | 2:34:55 |
| 89 | Lucas Hamilton | Netcompany INEOS Cycling Team | 2:37:03 |
| 90 | Roland Thalmann | Tudor Pro Cycling Team | 2:37:04 |
| 91 | Lars Craps | Lotto-Intermarché | 2:37:35 |
| 92 | Gianni Vermeersch | Red Bull-BORA-hansgrohe | 2:38:10 |
| 93 | Sergio Samitier | Cofidis | 2:43:17 |
| 94 | Frederik Wandahl | Red Bull-BORA-hansgrohe | 2:43:26 |
| 95 | Jesus Herrada | Burgos Burpellet BH | 2:45:44 |
| 96 | Lorenzo Rota | Lotto-Intermarché | 2:46:58 |
| 97 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 2:49:01 |
| 98 | Fredrik Dversnes | Uno-X Mobility | 2:49:37 |
| 99 | Matthew Brennan | Team Visma | Lease a Bike | 2:50:27 |
| 100 | Ivan Sosa | Equipo Kern Pharma | 2:53:45 |
| 101 | Darren Rafferty | EF Education-EasyPost | 2:54:35 |
| 102 | Gal Glivar | Alpecin-Premier Tech | 2:56:59 |
| 103 | Magnus Cort | Uno-X Mobility | 2:58:28 |
| 104 | Chris Hamilton | Team Picnic PostNL | 2:59:17 |
| 105 | Pablo Castrillo | Movistar Team | 3:00:19 |
| 106 | Yevgeniy Fedorov | XDS Astana Team | 3:00:44 |
| 107 | Nick Schultz | NSN Cycling Team | 3:00:50 |
| 108 | Jorge Arcas | Movistar Team | 3:01:22 |
| 109 | Mathijs Paasschens | Bahrain Victorious | 3:03:42 |
| 110 | Thibau Nys | Lidl-Trek | 3:05:15 |
| 111 | Georg Steinhauser | EF Education-EasyPost | 3:05:58 |
| 112 | Sylvain Moniquet | Cofidis | 3:07:34 |
| 113 | Martin Tjøtta | Uno-X Mobility | 3:07:41 |
| 114 | Bryan Coquard | Cofidis | 3:09:36 |
| 115 | Mats Wenzel | Equipo Kern Pharma | 3:09:40 |
| 116 | Ivo Oliveira | UAE Team Emirates-XRG | 3:11:22 |
| 117 | Michael Gogl | Alpecin-Premier Tech | 3:11:42 |
| 118 | David de la Cruz | Pinarello-Q36.5 Pro Cycling Team | 3:11:43 |
| 119 | Roman Ermakov | Bahrain Victorious | 3:12:27 |
| 120 | Ivan Cobo | Equipo Kern Pharma | 3:13:21 |
| 121 | Iñigo Elosegui | Equipo Kern Pharma | 3:17:24 |
| 122 | Timo de Jong | Team Picnic PostNL | 3:19:50 |
| 123 | Sinuhé Fernandez | Burgos Burpellet BH | 3:20:26 |
| 124 | Alastair Mackellar | EF Education-EasyPost | 3:21:07 |
| 125 | Darren van Bekkum | XDS Astana Team | 3:21:39 |
| 126 | Jasha Sütterlin | Team Jayco-AlUla | 3:21:56 |
| 127 | Fabio Van den Bossche | Soudal Quick-Step | 3:21:58 |
| 128 | Orluis Aular | Movistar Team | 3:24:20 |
| 129 | Oscar Chamberlain | Decathlon CMA CGM Team | 3:27:04 |
| 130 | Alessandro Covi | Team Jayco-AlUla | 3:27:14 |
| 131 | Alberto Dainese | Soudal Quick-Step | 3:28:13 |
| 132 | Olivier Le Gac | Groupama-FDJ United | 3:29:37 |
| 133 | Gianni Moscon | Red Bull-BORA-hansgrohe | 3:30:08 |
| 134 | Rasmus Tiller | Uno-X Mobility | 3:34:11 |
| 135 | Vito Braet | Lotto-Intermarché | 3:37:01 |
| 136 | Callum Thornley | Red Bull-BORA-hansgrohe | 3:37:18 |
| 137 | Cesar Macias | Burgos Burpellet BH | 3:39:40 |
| 138 | Steffen De Schuyteneer | Lotto-Intermarché | 3:43:20 |
| 139 | Juan Martinez | Team Picnic PostNL | 3:43:23 |
| 140 | Matevz Govekar | Bahrain Victorious | 3:48:28 |
| 141 | Marc Brustenga | Equipo Kern Pharma | 3:51:04 |
| 142 | Ethan Hayter | Soudal Quick-Step | 4:03:21 |
| 143 | Jordi Meeus | Red Bull-BORA-hansgrohe | 4:03:45 |
| 144 | Asbjørn Hellemose | Team Jayco-AlUla | 4:05:47 |
| 145 | Domen Novak | UAE Team Emirates-XRG | 4:13:20 |
| 146 | Louis Rouland | Cofidis | 4:14:03 |
| 147 | Paul Double | Team Jayco-AlUla | 4:25:04 |
| 148 | Mathias Sunekær Norsgaard | Lidl-Trek | 4:59:06 |
Stage 18 map & profile:

Stage 18 map

Stage 18 profile
Stage 18 photos by Fotoreporter Sirotti:

Enric Mas turned in an excellent time trial that allowed him to remain the GC leader.

Primoz Roglic couldn't find the watts to take the GC lead. He is currently second, @ 1min 37sec

Felix Gall's 26th place in the time trial was good enough for him to remain the GC third place.

Here's GC fourth-place Richard Carapaz.

Mattias Skjelmose was 28th in the staqge and is eighth in the GC

Kevin Vermaerke riding to 40th in the stage.

GC leader Enric Mas just after finishing his ride.

Stage winner Stefan Küng

Points classification leader Wout van Aert

GC leader Enric Mas has three more stages to go to claim this Vuelta as his own.