
Thursday, September 11: Stage 18, Valladolid 27.2 12.2 km individual time trial
Stage 18 map & profile | Stage 18 photos

Filippo Ganna on his way to winning the stage. Sirotti photo
Les Woodland's book Cycling’s 50 Craziest Stories is available in print, Kindle eBook & audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at the race city of Valladolid at 2:15 PM, local time: 23C (73F), sunny, with the wind from the southwest at 11 km/hr (7 mph). No rain is forecast.
The stage: Individual time trial featuring only a small slope at the beginning. Time trial specialists may have an advantage over climbers as it consists of a relatively uncomplicated route that takes place mainly on wide roads.
Fearing threatened Pro-Palestinian demonstrations, on Wednesday the 17th, the Vuelta Organization announced that the stage would be shortened, saying, "With the aim of giving greater protection to the development of the stage, the organization of La Vuelta, in coordination with the City Council of Valladolid and after consultation with the College of Commissaires, has decided that tomorrow's time trial stage will be contested over a 12.2 kilometer route, maintaining the start and finish initially planned."
The race: Here's the race organizer's stage 18 report.
Filippo Ganna (Ineos Grenadiers) is a two-time time trial world champion (2020-21) and he showed why in Valladolid. The Italian had already won a 25.8-kilometer time trial here in 2023. He repeated it today over a shorter distance (12.2 kilometers), covered at an average speed of 56.2 km/h, and taking his eighth Grand Tour individual time trial victory. Every detail counted as his runner-up, Jay Vine (UAE Emirates XRG), lost by... less than a second. Joao Almeida (UAE Emirates XRG) completed the day's podium ahead of French champion Bruno Armirail (Décathlon-AG2R La Mondiale), but also Jonas Vingegaard (Visma-Lease a Bike), who finished ninth.
The Dane lost 10 seconds to the Portuguese, reducing his advantage in the general classification to 40 seconds. The top five remains unchanged in terms of positions before the last three days of competition, including the ascent to the Bola del Mundo (20th stage), which promises to be a great battle between the favorites.

Jay Vine starts his ride.
The stage
A well-known destination of La Vuelta, Valladolid is today hosting its 36th start and 37th finish on the Spanish Grand Tour. History has been written in its streets, as they witnessed the finish of the very first stage in 1935, won by Belgian Antoine Dignef. The most recent winner here is Italian: Filippo Ganna (Ineos Grenadiers), who won the 25.8-kilometer individual time trial held in 2023.
The one of this 18th stage is half as long (12.2 kilometers), with a flat profile but several corners to break the pace. The riders will need to combine power, technique, and aerodynamics to win. All eyes are on the two leaders of the general classification, Jonas Vingegaard (Visma-Lease a Bike) and Joao Almeida (UAE Emirates XRG), separated by 50 seconds and the last to start in the late afternoon.
Ganna like in 2023

GC leader Jonas Vingegaard starts.
No fewer than 14 national individual time trial champions are in the streets today. The Dutch champion, Dan Hoole (Lidl-Trek), is one of the first to ride and establishes a first reference time of 13 minutes and 19 seconds. Starting 17th, Ganna overtakes him with a time of 13 minutes, at a 56.2 km/h average speed. Difficult to beat, as experienced by Ivo Oliveira (UAE Emirates XRG, +11") and Mads Pedersen (Lidl Trek, +21").
Stefan Küng (Groupama-FDJ) fights hard to dominate the Italian, but falls 12 seconds short. Then comes Bruno Armirail (Décathlon-AG2R La Modiale), standing 10 seconds behind the Italian. Jay Vine (UAE Team Emirates) misses what would have been a resounding success for only 0.90 seconds. No one can be faster than the two-time ITT world champion (2020-21). He earned his ninth Grand Tour victory and his eighth in an individual time trial.

Jonas Vingegaard on his ride, good enough to keep his lead, though now down from 50 seconds to 40 seconds. Sirotti photo
Vingegaard loses 10 seconds to Almeida
In the race to La Roja, Vingegaard hoped to lose as little time as possible to his runner-up and big rival Almeida. The Dane finished ninth in Valladolid, losing 10 seconds to the Portuguese, third on the day behind his teammate Vine. The two leaders of the general classification are now separated by only 40 seconds with three days to go before reaching Madrid. Tom Pidcock (Q36.5), Jai Hindley (Red Bull-Bora-Hansgrohe) and his teammate Giulio Pellizzari still complete the top five. Neither distinctive jersey is changing shoulders this evening.
Complete results:
12.2 kilometers raced at an average speed of 56.308 km/hr
| 1 | Filippo Ganna | INEOS Grenadiers | 13min 0sec |
| 2 | Jay Vine | UAE Team Emirates-XRG | @ 1sec |
| 3 | João Almeida | UAE Team Emirates-XRG | 0:08 |
| 4 | Bruno Armirail | Decathlon AG2R La Mondiale | 0:10 |
| 5 | Ivo Oliveira | UAE Team Emirates-XRG | 0:11 |
| 6 | Stefan Küng | Groupama-FDJ | 0:12 |
| 7 | Kelland O'Brien | Team Jayco-AlUla | 0:15 |
| 8 | Alec Segaert | Lotto | 0:16 |
| 9 | Jonas Vingegaard | Team Visma | Lease a Bike | 0:18 |
| 10 | Daan Hoole | Lidl-Trek | 0:19 |
| 11 | Pier-André Côté | Israel-Premier Tech | 0:20 |
| 12 | Matteo Jorgenson | Team Visma | Lease a Bike | 0:21 |
| 13 | Remi Cavagna | Groupama-FDJ | s.t. |
| 14 | Mads Pedersen | Lidl-Trek | s.t. |
| 15 | Ethan Vernon | Israel-Premier Tech | s.t. |
| 16 | Juan Ayuso | UAE Team Emirates-XRG | 0:22 |
| 17 | Pierre Thierry | Arkea-B&B Hotels | 0:23 |
| 18 | Marco Frigo | Israel-Premier Tech | 0:25 |
| 19 | Huub Artz | Intermarché-Wanty | 0:26 |
| 20 | Harold Tejada | XDS Astana Team | 0:27 |
| 21 | Felix Grossschartner | UAE Team Emirates-XRG | 0:28 |
| 22 | Tom Pidcock | Q36.5 Pro Cycling Team | 0:29 |
| 23 | Jai Hindley | Red Bull-BORA-hansgrohe | 0:32 |
| 24 | Markel Beloki | EF Education-EasyPost | 0:33 |
| 25 | Sander De Pestel | Decathlon AG2R La Mondiale | s.t. |
| 26 | Max Schachmann | Soudal Quick-Step | 0:35 |
| 27 | Mikkel Bjerg | UAE Team Emirates-XRG | 0:36 |
| 28 | Matthew Riccitello | Israel-Premier Tech | s.t. |
| 29 | Felix Gall | Decathlon AG2R La Mondiale | 0:41 |
| 30 | Søren Kragh Andersen | Lidl-Trek | 0:43 |
| 31 | Magnus Sheffield | INEOS Grenadiers | 0:44 |
| 32 | Nico Denz | Red Bull-BORA-hansgrohe | s.t. |
| 33 | Jakub Otruba | Caja Rural-Seguros RGA | s.t. |
| 34 | Jordan Labrosse | Decathlon AG2R La Mondiale | s.t. |
| 35 | Santiago Buitrago | Bahrain Victorious | 0:45 |
| 36 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 0:46 |
| 37 | Louis Meintjes | Intermarché-Wanty | s.t. |
| 38 | Michel Hessmann | Movistar Team | 0:47 |
| 39 | Jonas Rickaert | Alpecin-Deceuninck | s.t. |
| 40 | Patrick Eddy | Team Picnic PostNL | 0:48 |
| 41 | Junior Lecerf | Soudal Quick-Step | 0:50 |
| 42 | Alex Molenaar | Caja Rural-Seguros RGA | s.t. |
| 43 | Alessandro Verre | Arkea-B&B Hotels | 0:51 |
| 44 | Torstein Træen | Bahrain Victorious | 0:54 |
| 45 | Edward Dunbar | Team Jayco-AlUla | 0:57 |
| 46 | Abel Balderstone | Caja Rural-Seguros RGA | s.t. |
| 47 | Victor Langellotti | INEOS Grenadiers | 0:58 |
| 48 | Nans Peters | Decathlon AG2R La Mondiale | 0:59 |
| 49 | Gijs Leemreize | Team Picnic PostNL | 1:00 |
| 50 | Ben Tulett | Team Visma | Lease a Bike | s.t. |
| 51 | Brieuc Rolland | Groupama-FDJ | 1:01 |
| 52 | Roman Ermakov | Bahrain Victorious | s.t. |
| 53 | Victor Guernalec | Arkea-B&B Hotels | 1:02 |
| 54 | Louis Vervaeke | Soudal Quick-Step | 1:03 |
| 55 | Nadav Raisberg | Israel-Premier Tech | s.t. |
| 56 | Luca Van Boven | Intermarché-Wanty | 1:04 |
| 57 | Orluis Aular | Movistar Team | s.t. |
| 58 | Thibaud Gruel | Groupama-FDJ | s.t. |
| 59 | Kevin Vermaerke | Team Picnic PostNL | 1:06 |
| 60 | Iván García Cortina | Movistar Team | 1:07 |
| 61 | Ben Zwiehoff | Red Bull-BORA-hansgrohe | s.t. |
| 62 | Clément Braz Afonso | Groupama-FDJ | s.t. |
| 63 | Jaume Guardeño | Caja Rural-Seguros RGA | 1:08 |
| 64 | Matteo Sobrero | Red Bull-BORA-hansgrohe | s.t. |
| 65 | Fausto Masnada | XDS Astana Team | 1:09 |
| 66 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | s.t. |
| 67 | Giovanni Aleotti | Red Bull-BORA-hansgrohe | s.t. |
| 68 | Patrick Gamper | Team Jayco-AlUla | 1:11 |
| 69 | Wilco Kelderman | Team Visma | Lease a Bike | s.t. |
| 70 | Bob Jungels | INEOS Grenadiers | s.t. |
| 71 | Jake Stewart | Israel-Premier Tech | 1:12 |
| 72 | Andrea Bagioli | Lidl-Trek | 1:13 |
| 73 | Mikel Landa | Soudal Quick-Step | s.t. |
| 74 | Marc Soler | UAE Team Emirates-XRG | 1:14 |
| 75 | Chris Hamilton | Team Picnic PostNL | 1:15 |
| 76 | Carlos Canal | Movistar Team | 1:16 |
| 77 | Jenthe Biermans | Arkea-B&B Hotels | 1:17 |
| 78 | David de la Cruz | Q36.5 Pro Cycling Team | s.t. |
| 79 | Martin López | XDS Astana Team | 1:18 |
| 80 | Damien Howson | Q36.5 Pro Cycling Team | s.t. |
| 81 | Fabio Christen | Q36.5 Pro Cycling Team | 1:19 |
| 82 | Hugo de la Calle | Burgos Burpellet BH | 1:20 |
| 83 | Timo Roosen | Team Picnic PostNL | s.t. |
| 84 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 85 | Bjoern Koerdt | Team Picnic PostNL | s.t. |
| 86 | David Gaudu | Groupama-FDJ | 1:21 |
| 87 | Jonas Gregaard | Lotto | 1:22 |
| 88 | Antonio Tiberi | Bahrain Victorious | s.t. |
| 89 | Giulio Ciccone | Lidl-Trek | 1:23 |
| 90 | Nicola Conci | XDS Astana Team | s.t. |
| 91 | Mario Aparicio | Burgos Burpellet BH | s.t. |
| 92 | Johannes Staune-Mittet | Decathlon AG2R La Mondiale | 1:24 |
| 93 | Stanislaw Aniolkowski | Cofidis | s.t. |
| 94 | Sergio Samitier | Cofidis | s.t. |
| 95 | Edward Planckaert | Alpecin-Deceuninck | s.t. |
| 96 | Juan Martinez | Team Picnic PostNL | 1:26 |
| 97 | Thomas Silva | Caja Rural-Seguros RGA | s.t. |
| 98 | Gal Glivar | Alpecin-Deceuninck | s.t. |
| 99 | Dylan van Baarle | Team Visma | Lease a Bike | 1:27 |
| 100 | Arne Marit | Intermarché-Wanty | s.t. |
| 101 | Julien Bernard | Lidl-Trek | 1:28 |
| 102 | Christopher Juul-Jensen | Team Jayco-AlUla | 1:29 |
| 103 | Elia Viviani | Lotto | 1:30 |
| 104 | Jefferson Cepeda | Movistar Team | s.t. |
| 105 | Louis Rouland | Arkea-B&B Hotels | 1:31 |
| 106 | David González | Q36.5 Pro Cycling Team | s.t. |
| 107 | Emanuel Buchmann | Cofidis | s.t. |
| 108 | Callum Scotson | Decathlon AG2R La Mondiale | s.t. |
| 109 | Amanuel Ghebreigzabhier | Lidl-Trek | s.t. |
| 110 | Tobias Bayer | Alpecin-Deceuninck | 1:33 |
| 111 | Dries De Pooter | Intermarché-Wanty | s.t. |
| 112 | Finlay Pickering | Bahrain Victorious | 1:34 |
| 113 | Rudy Molard | Groupama-FDJ | 1:35 |
| 114 | Mauri Vansevenant | Soudal Quick-Step | s.t. |
| 115 | Jesus Herrada | Cofidis | 1:37 |
| 116 | Eduardo Sepulveda | Lotto | 1:38 |
| 117 | Domen Novak | UAE Team Emirates-XRG | s.t. |
| 118 | Nickolas Zukowsky | Q36.5 Pro Cycling Team | s.t. |
| 119 | Tim van Dijke | Red Bull-BORA-hansgrohe | 1:41 |
| 120 | James Shaw | EF Education-EasyPost | s.t. |
| 121 | Nicolas Vinokurov | XDS Astana Team | s.t. |
| 122 | Lukas Nerurkar | EF Education-EasyPost | 1:42 |
| 123 | Michal Kwiatkowski | INEOS Grenadiers | 1:44 |
| 124 | José Luis Faura | Burgos Burpellet BH | s.t. |
| 125 | Lorenzo Fortunato | XDS Astana Team | 1:45 |
| 126 | Jardi Van Der Lee | EF Education-EasyPost | 1:46 |
| 127 | Lars Craps | Lotto | s.t. |
| 128 | Oscar Riesebeek | Alpecin-Deceuninck | s.t. |
| 129 | Kamiel Bonneu | Intermarché-Wanty | s.t. |
| 130 | Sean Quinn | EF Education-EasyPost | 1:48 |
| 131 | Joan Bou | Caja Rural-Seguros RGA | 1:49 |
| 132 | Ben Turner | INEOS Grenadiers | s.t. |
| 133 | Bryan Coquard | Cofidis | s.t. |
| 134 | Jasper Philipsen | Alpecin-Deceuninck | 1:50 |
| 135 | Madis Mihkels | EF Education-EasyPost | 1:51 |
| 136 | Marcel Camprubí | Q36.5 Pro Cycling Team | 1:53 |
| 137 | Carlos Verona | Lidl-Trek | s.t. |
| 138 | Dion Smith | Intermarché-Wanty | 1:56 |
| 139 | Léo Bisiaux | Decathlon AG2R La Mondiale | s.t. |
| 140 | Nicolò Buratti | Bahrain Victorious | 1:57 |
| 141 | Jasper De Buyst | Lotto | s.t. |
| 142 | Wout Poels | XDS Astana Team | s.t. |
| 143 | Egan Bernal | INEOS Grenadiers | 2:04 |
| 144 | Jan Hirt | Israel-Premier Tech | s.t. |
| 145 | Simone Petilli | Intermarché-Wanty | 2:05 |
| 146 | Joel Nicolau | Caja Rural-Seguros RGA | 2:07 |
| 147 | Jack Haig | Bahrain Victorious | 2:09 |
| 148 | Liam Slock | Lotto | 2:10 |
| 149 | Sergio Chumil | Burgos Burpellet BH | 2:16 |
| 150 | Léandre Lozouet | Arkea-B&B Hotels | 2:21 |
| 151 | Anders Foldager | Team Jayco-AlUla | 2:25 |
| 152 | Brandon Rivera | INEOS Grenadiers | s.t. |
| 153 | Mathijs Paasschens | Bahrain Victorious | 2:36 |
GC after stage 18:
2,713.4 kilometers raced so far at an average speed of 41.668 km/hr
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 65hr 7min 13sec |
| 2 | João Almeida | UAE Team Emirates-XRG | @ 40sec |
| 3 | Tom Pidcock | Q36.5 Pro Cycling Team | 2:39 |
| 4 | Jai Hindley | Red Bull-BORA-hansgrohe | 3:18 |
| 5 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 4:19 |
| 6 | Matthew Riccitello | Israel-Premier Tech | 5:17 |
| 7 | Felix Gall | Decathlon AG2R La Mondiale | 5:20 |
| 8 | Sepp Kuss | Team Visma | Lease a Bike | 7:26 |
| 9 | Torstein Træen | Bahrain Victorious | 7:42 |
| 10 | Matteo Jorgenson | Team Visma | Lease a Bike | 10:19 |
| 11 | Junior Lecerf | Soudal Quick-Step | 12:24 |
| 12 | Harold Tejada | XDS Astana Team | 15:45 |
| 13 | Abel Balderstone | Caja Rural-Seguros RGA | 24:47 |
| 14 | Jaume Guardeño | Caja Rural-Seguros RGA | 26:20 |
| 15 | Santiago Buitrago | Bahrain Victorious | 34:19 |
| 16 | Egan Bernal | INEOS Grenadiers | 34:47 |
| 17 | Louis Meintjes | Intermarché-Wanty | 36:00 |
| 18 | Kevin Vermaerke | Team Picnic PostNL | 40:06 |
| 19 | Bruno Armirail | Decathlon AG2R La Mondiale | 42:02 |
| 20 | Giulio Ciccone | Lidl-Trek | 44:39 |
| 21 | Edward Dunbar | Team Jayco-AlUla | 50:45 |
| 22 | Marc Soler | UAE Team Emirates-XRG | 52:26 |
| 23 | Martin López | XDS Astana Team | 53:26 |
| 24 | Rudy Molard | Groupama-FDJ | 54:47 |
| 25 | Ben Tulett | Team Visma | Lease a Bike | 1:00:14 |
| 26 | Felix Grossschartner | UAE Team Emirates-XRG | 1:02:13 |
| 27 | Mikel Landa | Soudal Quick-Step | 1:15:18 |
| 28 | Damien Howson | Q36.5 Pro Cycling Team | 1:16:13 |
| 29 | Marco Frigo | Israel-Premier Tech | 1:17:04 |
| 30 | Jefferson Cepeda | Movistar Team | 1:18:23 |
| 31 | Jay Vine | UAE Team Emirates-XRG | 1:18:36 |
| 32 | Finlay Pickering | Bahrain Victorious | 1:20:18 |
| 33 | Sergio Samitier | Cofidis | 1:22:32 |
| 34 | Julien Bernard | Lidl-Trek | 1:30:01 |
| 35 | Louis Vervaeke | Soudal Quick-Step | 1:32:54 |
| 36 | Clément Braz Afonso | Groupama-FDJ | 1:33:46 |
| 37 | Johannes Staune-Mittet | Decathlon AG2R La Mondiale | 1:33:48 |
| 38 | Wout Poels | XDS Astana Team | 1:33:56 |
| 39 | Brieuc Rolland | Groupama-FDJ | 1:35:12 |
| 40 | Andrea Bagioli | Lidl-Trek | 1:37:21 |
| 41 | Lorenzo Fortunato | XDS Astana Team | 1:43:16 |
| 42 | Fausto Masnada | XDS Astana Team | 1:45:43 |
| 43 | Callum Scotson | Decathlon AG2R La Mondiale | 1:48:14 |
| 44 | Pierre Thierry | Arkea-B&B Hotels | 1:48:59 |
| 45 | Bob Jungels | INEOS Grenadiers | 1:49:07 |
| 46 | Antonio Tiberi | Bahrain Victorious | 1:50:05 |
| 47 | Jan Hirt | Israel-Premier Tech | 1:51:19 |
| 48 | Markel Beloki | EF Education-EasyPost | 1:56:39 |
| 49 | Gijs Leemreize | Team Picnic PostNL | 1:57:23 |
| 50 | Léo Bisiaux | Decathlon AG2R La Mondiale | 1:57:51 |
| 51 | Ben Zwiehoff | Red Bull-BORA-hansgrohe | 1:59:59 |
| 52 | José Luis Faura | Burgos Burpellet BH | 2:02:52 |
| 53 | Victor Langellotti | INEOS Grenadiers | 2:03:34 |
| 54 | Juan Martinez | Team Picnic PostNL | 2:04:32 |
| 55 | Sander De Pestel | Decathlon AG2R La Mondiale | 2:06:13 |
| 56 | Chris Hamilton | Team Picnic PostNL | 2:06:31 |
| 57 | Carlos Canal | Movistar Team | 2:06:53 |
| 58 | Giovanni Aleotti | Red Bull-BORA-hansgrohe | 2:09:39 |
| 59 | Lars Craps | Lotto | 2:11:53 |
| 60 | Carlos Verona | Lidl-Trek | 2:12:50 |
| 61 | Magnus Sheffield | INEOS Grenadiers | 2:14:07 |
| 62 | Sean Quinn | EF Education-EasyPost | 2:18:54 |
| 63 | Eduardo Sepulveda | Lotto | 2:21:44 |
| 64 | James Shaw | EF Education-EasyPost | 2:22:21 |
| 65 | Brandon Rivera | INEOS Grenadiers | 2:22:32 |
| 66 | Stefan Küng | Groupama-FDJ | 2:23:25 |
| 67 | Thomas Silva | Caja Rural-Seguros RGA | 2:23:51 |
| 68 | Juan Ayuso | UAE Team Emirates-XRG | 2:24:45 |
| 69 | Hugo de la Calle | Burgos Burpellet BH | 2:26:06 |
| 70 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | 2:26:46 |
| 71 | Mauri Vansevenant | Soudal Quick-Step | 2:26:59 |
| 72 | Michel Hessmann | Movistar Team | 2:28:25 |
| 73 | Joan Bou | Caja Rural-Seguros RGA | 2:28:49 |
| 74 | Jack Haig | Bahrain Victorious | 2:29:10 |
| 75 | Wilco Kelderman | Team Visma | Lease a Bike | 2:29:17 |
| 76 | Alex Molenaar | Caja Rural-Seguros RGA | 2:31:06 |
| 77 | Nico Denz | Red Bull-BORA-hansgrohe | 2:31:25 |
| 78 | Michal Kwiatkowski | INEOS Grenadiers | 2:31:53 |
| 79 | David González | Q36.5 Pro Cycling Team | 2:32:48 |
| 80 | Max Schachmann | Soudal Quick-Step | 2:33:06 |
| 81 | Jesus Herrada | Cofidis | 2:34:54 |
| 82 | Nicola Conci | XDS Astana Team | 2:35:25 |
| 83 | Roman Ermakov | Bahrain Victorious | 2:36:41 |
| 84 | Nans Peters | Decathlon AG2R La Mondiale | 2:41:18 |
| 85 | Bjoern Koerdt | Team Picnic PostNL | 2:41:21 |
| 86 | Sergio Chumil | Burgos Burpellet BH | 2:42:39 |
| 87 | David de la Cruz | Q36.5 Pro Cycling Team | 2:44:35 |
| 88 | Gal Glivar | Alpecin-Deceuninck | 2:44:37 |
| 89 | Orluis Aular | Movistar Team | 2:46:24 |
| 90 | Jordan Labrosse | Decathlon AG2R La Mondiale | 2:47:31 |
| 91 | Alec Segaert | Lotto | 2:48:16 |
| 92 | Mathijs Paasschens | Bahrain Victorious | 2:49:53 |
| 93 | Jonas Gregaard | Lotto | 2:50:37 |
| 94 | Nicolas Vinokurov | XDS Astana Team | 2:51:53 |
| 95 | David Gaudu | Groupama-FDJ | 2:52:09 |
| 96 | Kelland O'Brien | Team Jayco-AlUla | 2:52:22 |
| 97 | Jakub Otruba | Caja Rural-Seguros RGA | 2:52:33 |
| 98 | Lukas Nerurkar | EF Education-EasyPost | 2:53:08 |
| 99 | Jonas Rickaert | Alpecin-Deceuninck | 2:53:15 |
| 100 | Emanuel Buchmann | Cofidis | 2:54:14 |
| 101 | Simone Petilli | Intermarché-Wanty | 2:55:23 |
| 102 | Thibaud Gruel | Groupama-FDJ | 2:55:34 |
| 103 | Jardi Van Der Lee | EF Education-EasyPost | 2:56:47 |
| 104 | Patrick Gamper | Team Jayco-AlUla | 3:00:12 |
| 105 | Ivo Oliveira | UAE Team Emirates-XRG | 3:00:35 |
| 106 | Pier-André Côté | Israel-Premier Tech | 3:01:54 |
| 107 | Iván García Cortina | Movistar Team | 3:02:27 |
| 108 | Mario Aparicio | Burgos Burpellet BH | 3:05:01 |
| 109 | Louis Rouland | Arkea-B&B Hotels | 3:06:24 |
| 110 | Luca Van Boven | Intermarché-Wanty | 3:10:18 |
| 111 | Marcel Camprubí | Q36.5 Pro Cycling Team | 3:11:31 |
| 112 | Christopher Juul-Jensen | Team Jayco-AlUla | 3:12:12 |
| 113 | Huub Artz | Intermarché-Wanty | 3:12:47 |
| 114 | Nicolò Buratti | Bahrain Victorious | 3:13:17 |
| 115 | Alessandro Verre | Arkea-B&B Hotels | 3:13:27 |
| 116 | Léandre Lozouet | Arkea-B&B Hotels | 3:14:34 |
| 117 | Nickolas Zukowsky | Q36.5 Pro Cycling Team | 3:15:14 |
| 118 | Victor Guernalec | Arkea-B&B Hotels | 3:15:18 |
| 119 | Remi Cavagna | Groupama-FDJ | 3:16:00 |
| 120 | Edward Planckaert | Alpecin-Deceuninck | 3:19:15 |
| 121 | Kamiel Bonneu | Intermarché-Wanty | 3:19:23 |
| 122 | Mads Pedersen | Lidl-Trek | 3:20:00 |
| 123 | Matteo Sobrero | Red Bull-BORA-hansgrohe | 3:21:48 |
| 124 | Joel Nicolau | Caja Rural-Seguros RGA | 3:22:58 |
| 125 | Dion Smith | Intermarché-Wanty | 3:23:59 |
| 126 | Madis Mihkels | EF Education-EasyPost | 3:26:01 |
| 127 | Tobias Bayer | Alpecin-Deceuninck | 3:29:28 |
| 128 | Jake Stewart | Israel-Premier Tech | 3:31:16 |
| 129 | Liam Slock | Lotto | 3:34:38 |
| 130 | Fabio Christen | Q36.5 Pro Cycling Team | 3:35:30 |
| 131 | Dylan van Baarle | Team Visma | Lease a Bike | 3:35:47 |
| 132 | Amanuel Ghebreigzabhier | Lidl-Trek | 3:35:51 |
| 133 | Bryan Coquard | Cofidis | 3:37:16 |
| 134 | Dries De Pooter | Intermarché-Wanty | 3:37:25 |
| 135 | Ben Turner | INEOS Grenadiers | 3:37:28 |
| 136 | Mikkel Bjerg | UAE Team Emirates-XRG | 3:38:49 |
| 137 | Filippo Ganna | INEOS Grenadiers | 3:38:51 |
| 138 | Timo Roosen | Team Picnic PostNL | 3:43:39 |
| 139 | Tim van Dijke | Red Bull-BORA-hansgrohe | 3:44:20 |
| 140 | Jasper De Buyst | Lotto | 3:44:47 |
| 141 | Domen Novak | UAE Team Emirates-XRG | 3:48:59 |
| 142 | Nadav Raisberg | Israel-Premier Tech | 3:53:52 |
| 143 | Ethan Vernon | Israel-Premier Tech | 3:55:50 |
| 144 | Jenthe Biermans | Arkea-B&B Hotels | 3:56:22 |
| 145 | Anders Foldager | Team Jayco-AlUla | 3:56:49 |
| 146 | Jasper Philipsen | Alpecin-Deceuninck | 3:58:08 |
| 147 | Arne Marit | Intermarché-Wanty | 3:59:46 |
| 148 | Daan Hoole | Lidl-Trek | 4:05:41 |
| 149 | Søren Kragh Andersen | Lidl-Trek | 4:06:02 |
| 150 | Elia Viviani | Lotto | 4:09:22 |
| 151 | Patrick Eddy | Team Picnic PostNL | 4:17:02 |
| 152 | Stanislaw Aniolkowski | Cofidis | 4:19:35 |
| 153 | Oscar Riesebeek | Alpecin-Deceuninck | 4:30:23 |
Stage 18 map & profile:

Revised map of stage 18.

Original stage 18 map

Revised profile

Original stage 18 profile
Stage 18 photos by Fotoreporter Sirotti:

Perfect form and tons of power: Filippo Ganna winning the stage in the Italian champion's jersey.

Joao Almeida's third in the stage kept him second in the GC.

Sprinter Stefan Küng was sixth in the stage and is 66th in the GC

Jonas Vinegaard's ninth place was good enough to keep him in red.

GC third place Tom Pidcock was 22nd in the stage

Junior Lecerf was 41st in the stage, and is 11th in the GC.

Joao Almeida just after finishing his ride.

Jonas Vingegaard is the center of attention after finishing his ride.

Stage winner Filippo Ganna

Still in red. Jonas Vingegaard has three stages to go to claim this Vuelta as his own.