
Vuelta Podium History | 2024 Vuelta | 2026 Vuelta | Rider & teams presentation ceremony photos & start list | List of stages & a look at 2025 Vuelta
Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 | Stage 6 | Stage 7 | Stage 8 | Stage 9 | Rest Day 1 | Stage 10 | Stage 11 | Stage 12 | Stage 13 | Stage 14 | Stage 15 | Rest Day 2 | Stage 16 | Stage 17 | Stage 18 | Stage 19 | Stage 20 | Stage 21

2025 Vuelta a España map: 21 stages covering a total of 3,151 kilometers
Sunday, September 14: 21st & Final Stage, Alalpardo - Madrid, 107.7 km

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

Stage 21 map

Stage 21 profile
Saturday, September 13: Stage 20, Robledo de Chavela - Bola del Mundo - Puerto de Navacerrada, 155.8 km
Complete stage 20 results, stage story, photos, map & profile

Jonas Vingegaard wins the stage and effectively wins the 2025 Vuelta a España.
Results:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 3hr 56min 23sec |
| 2 | Sepp Kuss | Team Visma | Lease a Bike | @ 11sec |
| 3 | Jai Hindley | Red Bull-BORA-hansgrohe | 0:13 |
| 4 | Tom Pidcock | Q36.5 Pro Cycling Team | 0:18 |
| 5 | João Almeida | UAE Team Emirates-XRG | 0:22 |
| 6 | Matthew Riccitello | Israel-Premier Tech | 0:24 |
| 7 | Jay Vine | UAE Team Emirates-XRG | 0:47 |
| 8 | Giulio Ciccone | Lidl-Trek | 1:11 |
| 9 | Junior Lecerf | Soudal Quick-Step | 1:22 |
| 10 | Finlay Pickering | Bahrain Victorious | 1:30 |
GC after stage 20
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 72hr 53min 57sec |
| 2 | João Almeida | UAE Team Emirates-XRG | @ 1min 16sec |
| 3 | Tom Pidcock | Q36.5 Pro Cycling Team | 3:11 |
| 4 | Jai Hindley | Red Bull-BORA-hansgrohe | 3:41 |
| 5 | Matthew Riccitello | Israel-Premier Tech | 5:55 |
| 6 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 7:23 |
| 7 | Sepp Kuss | Team Visma | Lease a Bike | 7:45 |
| 8 | Felix Gall | Decathlon AG2R La Mondiale | 7:50 |
| 9 | Torstein Træen | Bahrain Victorious | 9:48 |
| 10 | Matteo Jorgenson | Team Visma | Lease a Bike | 12:16 |
Friday, September 12: Stage 19, Rueda - Guijuelo, 161.9 km
Complete stage 19 results, stage story, photos, map & profile

Jasper Philipsen wins stage 19.
Results:
| 1 | Jasper Philipsen | Alpecin-Deceuninck | 3hr 50min 35sec |
| 2 | Mads Pedersen | Lidl-Trek | s.t. |
| 3 | Orluis Aular | Movistar Team | s.t. |
| 4 | Jenthe Biermans | Arkea-B&B Hotels | s.t. |
| 5 | Ben Turner | INEOS Grenadiers | s.t. |
| 6 | Arne Marit | Intermarché-Wanty | s.t. |
| 7 | Fabio Christen | Q36.5 Pro Cycling Team | s.t. |
| 8 | Ethan Vernon | Israel-Premier Tech | s.t. |
| 9 | Thibaud Gruel | Groupama-FDJ | s.t. |
| 10 | Jordan Labrosse | Decathlon AG2R La Mondiale | s.t. |
GC after stage 19:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 68hr 57min 44sec |
| 2 | João Almeida | UAE Team Emirates-XRG | @ 44sec |
| 3 | Tom Pidcock | Q36.5 Pro Cycling Team | 2:43 |
| 4 | Jai Hindley | Red Bull-BORA-hansgrohe | 3:22 |
| 5 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 4:23 |
| 6 | Matthew Riccitello | Israel-Premier Tech | 5:21 |
| 7 | Felix Gall | Decathlon AG2R La Mondiale | 5:24 |
| 8 | Sepp Kuss | Team Visma | Lease a Bike | 7:30 |
| 9 | Torstein Træen | Bahrain Victorious | 7:46 |
| 10 | Matteo Jorgenson | Team Visma | Lease a Bike | 10:21 |
Thursday, September 11: Stage 18, Valladolid 27.2 12.2 km individual time trial
Complete stage 18 results, stage story, photos, map & profile

Filippo Ganna on his way to winning the stage. Sirotti photo
Results:
| 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 |
GC after stage 18:
| 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 |
Wednesday, September 10: Stage 17, O Barco de Valdeorras - Alto de El Morredero, 143.2 km
Complete stage 17 results, stage story, photos, map & profile

Giulio Pellizzari takes the stage.
Results:
| 1 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 3hr 37min 0sec |
| 2 | Tom Pidcock | Q36.5 Pro Cycling Team | @ 16sec |
| 3 | Jai Hindley | Red Bull-BORA-hansgrohe | 0:18 |
| 4 | Jonas Vingegaard | Team Visma | Lease a Bike | 0:20 |
| 5 | João Almeida | UAE Team Emirates-XRG | 0:22 |
| 6 | Matthew Riccitello | Israel-Premier Tech | 0:26 |
| 7 | Felix Gall | Decathlon AG2R La Mondiale | 0:53 |
| 8 | Torstein Træen | Bahrain Victorious | s.t. |
| 9 | Sepp Kuss | Team Visma | Lease a Bike | 0:58 |
| 10 | Matteo Jorgenson | Team Visma | Lease a Bike | 1:44 |
GC after stage 17:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 64hr 53min 55sec |
| 2 | João Almeida | UAE Team Emirates-XRG | @ 50sec |
| 3 | Tom Pidcock | Q36.5 Pro Cycling Team | 2:28 |
| 4 | Jai Hindley | Red Bull-BORA-hansgrohe | 3:04 |
| 5 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 3:51 |
| 6 | Felix Gall | Decathlon AG2R La Mondiale | 4:57 |
| 7 | Matthew Riccitello | Israel-Premier Tech | 4:59 |
| 8 | Sepp Kuss | Team Visma | Lease a Bike | 6:24 |
| 9 | Torstein Træen | Bahrain Victorious | 7:06 |
| 10 | Matteo Jorgenson | Team Visma | Lease a Bike | 10:16 |
Tuesday, September 9: Stage 16, Poio - Mos Castro de Herville, 167.9 153.1 km
Stage 16 complete results, stage story, photos, map & profile

Egan Bernal beats Mikel Landa for the stage win.
Results:
| 1 | Egan Bernal | INEOS Grenadiers | 3hr 35min 10sec |
| 2 | Mikel Landa | Soudal Quick-Step | s.t. |
| 3 | Brieuc Rolland | Groupama-FDJ | @ 7sec |
| 4 | Nico Denz | Red Bull-BORA-hansgrohe | 1:02 |
| 5 | Clément Braz Afonso | Groupama-FDJ | s.t. |
| 6 | Bob Jungels | INEOS Grenadiers | 1:10 |
| 7 | Kevin Vermaerke | Team Picnic PostNL | 1:12 |
| 8 | Finlay Pickering | Bahrain Victorious | s.t. |
| 9 | Sean Quinn | EF Education-EasyPost | 2:48 |
| 10 | Rudy Molard | Groupama-FDJ | s.t. |
GC after stage 16:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 61hr 16min 35sec |
| 2 | João Almeida | UAE Team Emirates-XRG | @ 48sec |
| 3 | Tom Pidcock | Q36.5 Pro Cycling Team | 2:38 |
| 4 | Jai Hindley | Red Bull-BORA-hansgrohe | 3:10 |
| 5 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 4:21 |
| 6 | Felix Gall | Decathlon AG2R La Mondiale | 4:24 |
| 7 | Matthew Riccitello | Israel-Premier Tech | 4:53 |
| 8 | Sepp Kuss | Team Visma | Lease a Bike | 5:46 |
| 9 | Torstein Træen | Bahrain Victorious | 6:33 |
| 10 | Junior Lecerf | Soudal Quick-Step | 8:04 |
Monday, September 8: Rest Day 2 in Pontevedra
Sunday, September 7: Stage 15, A Veiga/Vegadeo - Monforte de Lemos, 167.8 km
Stage 15 complete results, stage story, photos, map & profile

Mads Pedersen wins stage 15. Sirotti photo
Results:
| 1 | Mads Pedersen | Lidl-Trek | 4hr 2min 13sec |
| 2 | Orluis Aular | Movistar Team | s.t. |
| 3 | Marco Frigo | Israel-Premier Tech | s.t. |
| 4 | Santiago Buitrago | Bahrain Victorious | s.t. |
| 5 | Edward Dunbar | Team Jayco-AlUla | s.t. |
| 6 | Egan Bernal | INEOS Grenadiers | s.t. |
| 7 | Louis Vervaeke | Soudal Quick-Step | s.t. |
| 8 | Jay Vine | UAE Team Emirates-XRG | @ 8sec |
| 9 | Magnus Sheffield | INEOS Grenadiers | @ 0sec |
| 10 | Alec Segaert | Lotto | 0:23 |
GC after stage 15:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 57hr 35min 33sec |
| 2 | João Almeida | UAE Team Emirates-XRG | @ 48sec |
| 3 | Tom Pidcock | Q36.5 Pro Cycling Team | 2:38 |
| 4 | Jai Hindley | Red Bull-BORA-hansgrohe | 3:10 |
| 5 | Felix Gall | Decathlon AG2R La Mondiale | 3:30 |
| 6 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 4:21 |
| 7 | Matthew Riccitello | Israel-Premier Tech | 4:53 |
| 8 | Sepp Kuss | Team Visma | Lease a Bike | 5:46 |
| 9 | Junior Lecerf | Soudal Quick-Step | 5:49 |
| 10 | Torstein Træen | Bahrain Victorious | 6:33 |
Saturday, September 6: Stage 14, Avilés - La Farrapona. Lagos de Somiedo, 135.9 km
Stage 14 complete results, stage story, photos, map & profile

Marc Soler wins stage 14.
Results:
| 1 | Marc Soler | UAE Team Emirates-XRG | 3hr 48min 22sec |
| 2 | Jonas Vingegaard | Team Visma | Lease a Bike | @ 39sec |
| 3 | João Almeida | UAE Team Emirates-XRG | s.t. |
| 4 | Jai Hindley | Red Bull-BORA-hansgrohe | 0:43 |
| 5 | Felix Gall | Decathlon AG2R La Mondiale | 0;48 |
| 6 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 0:53 |
| 7 | Matthew Riccitello | Israel-Premier Tech | s.t. |
| 8 | Tom Pidcock | Q36.5 Pro Cycling Team | s.t. |
| 9 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 10 | Finlay Pickering | Bahrain Victorious | 1:25 |
GC after stage 14:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 53hr 19min 49sec |
| 2 | João Almeida | UAE Team Emirates-XRG | @ 48sec |
| 3 | Tom Pidcock | Q36.5 Pro Cycling Team | 2:38 |
| 4 | Jai Hindley | Red Bull-BORA-hansgrohe | 3:10 |
| 5 | Felix Gall | Decathlon AG2R La Mondiale | 3:30 |
| 6 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 4:21 |
| 7 | Matthew Riccitello | Israel-Premier Tech | 4:53 |
| 8 | Sepp Kuss | Team Visma | Lease a Bike | 5:46 |
| 9 | Torstein Træen | Bahrain Victorious | 6:33 |
| 10 | Matteo Jorgenson | Team Visma | Lease a Bike | 8:52 |
Friday, September 5: Stage 13, Cabezón de la Sal - l'Angliru, 202.7 km
Stage 13 complete results, stage story, photos, map & profile

Joao Almeida wins the stage with GC leader Jonas Vingegaard (you can see his red sleeve) right on his wheel. Photo: Sprint Cycling.
Results:
| 1 | João Almeida | UAE Team Emirates-XRG | 4hr 54min 15sec |
| 2 | Jonas Vingegaard | Team Visma | Lease a Bike | s.t. |
| 3 | Jai Hindley | Red Bull-BORA-hansgrohe | @ 28sec |
| 4 | Sepp Kuss | Team Visma | Lease a Bike | 0:30 |
| 5 | Felix Gall | Decathlon AG2R La Mondiale | 0:52 |
| 6 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 1:11 |
| 7 | Tom Pidcock | Q36.5 Pro Cycling Team | 1:16 |
| 8 | Matthew Riccitello | Israel-Premier Tech | s.t. |
| 9 | Giulio Ciccone | Lidl-Trek | 2:15 |
| 10 | Abel Balderstone | Caja Rural-Seguros RGA | 3:06 |
GC after stage 13:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 49hr 30min 54sec |
| 2 | João Almeida | UAE Team Emirates-XRG | @ 46sec |
| 3 | Tom Pidcock | Q36.5 Pro Cycling Team | 2:18 |
| 4 | Jai Hindley | Red Bull-BORA-hansgrohe | 3:00 |
| 5 | Felix Gall | Decathlon AG2R La Mondiale | 3:15 |
| 6 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 4:01 |
| 7 | Matthew Riccitello | Israel-Premier Tech | 4:33 |
| 8 | Giulio Ciccone | Lidl-Trek | 4:54 |
| 9 | Torstein Træen | Bahrain Victorious | 5:21 |
| 10 | Sepp Kuss | Team Visma | Lease a Bike | 5:26 |
Thursday, September 4: Stage 12, Laredo - Los Corrales de Buelna, 144.9 km
Complete stage 12 results, stage story, photos, map & profile

Juan Ayuso wins stage 12. Sprint Cycling photo
Results:
| 1 | Juan Ayuso | UAE Team Emirates-XRG | 3hr 16min 21sec |
| 2 | Javier Romo | Movistar Team | s.t. |
| 3 | Brieuc Rolland | Groupama-FDJ | @ 13sec |
| 4 | Victor Campenaerts | Team Visma | Lease a Bike | 0:17 |
| 5 | Mads Pedersen | Lidl-Trek | s.t. |
| 6 | Nico Denz | Red Bull-BORA-hansgrohe | s.t. |
| 7 | Damien Howson | Q36.5 Pro Cycling Team | s.t. |
| 8 | Santiago Buitrago | Bahrain Victorious | s.t. |
| 9 | Markel Beloki | EF Education-EasyPost | s.t. |
| 10 | Pablo Castrillo | Movistar Team | s.t. |
GC after stage 12:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 44hr 36min 45sec |
| 2 | João Almeida | UAE Team Emirates-XRG | @ 50sec |
| 3 | Tom Pidcock | Q36.5 Pro Cycling Team | 0:56 |
| 4 | Torstein Træen | Bahrain Victorious | 1:06 |
| 5 | Felix Gall | Decathlon AG2R La Mondiale | 2:17 |
| 6 | Bruno Armirail | Decathlon AG2R La Mondiale | 2:22 |
| 7 | Matteo Jorgenson | Team Visma | Lease a Bike | 2:26 |
| 8 | Jai Hindley | Red Bull-BORA-hansgrohe | 2:30 |
| 9 | Giulio Ciccone | Lidl-Trek | 2:33 |
| 10 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 2:44 |
Wednesday, September 3: Stage 11, Bilbao - Bilbao, 157.4 km
Complete stage 11 results, stage story, photos, map & profile

The moment: Tom Pidcock heads for a solo finish.
Results: Stage neutralized
GC after stage 11:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 41hr 14min 2sec |
| 2 | João Almeida | UAE Team Emirates-XRG | @ 50sec |
| 3 | Tom Pidcock | Q36.5 Pro Cycling Team | 0:56 |
| 4 | Torstein Træen | Bahrain Victorious | 1:06 |
| 5 | Felix Gall | Decathlon AG2R La Mondiale | 2:17 |
| 6 | Matteo Jorgenson | Team Visma | Lease a Bike | 2:26 |
| 7 | Jai Hindley | Red Bull-BORA-hansgrohe | 2:30 |
| 8 | Giulio Ciccone | Lidl-Trek | 2:33 |
| 9 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 2:44 |
| 10 | Matthew Riccitello | Israel-Premier Tech | 3:11 |
Tuesday, September 2: Stage 10, Parque de la Naturaleza Sendaviva - El Ferial Larra Belagua, 175.3 km
Complete stage 10 results, stage story, photos, map & profile

Jay Vine gets his second stage win this Vuelta. He also won stage 6. Sprint Cycling photo
Results:
| 1 | Jay Vine | UAE Team Emirates-XRG | 3hr 56min 24sec |
| 2 | Pablo Castrillo | Movistar Team | @ 35sec |
| 3 | Javier Romo | Movistar Team | 1:04 |
| 4 | Archie Ryan | EF Education-EasyPost | 1:05 |
| 5 | Tom Pidcock | Q36.5 Pro Cycling Team | s.t. |
| 6 | Giulio Ciccone | Lidl-Trek | s.t. |
| 7 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
| 8 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 9 | Junior Lecerf | Soudal Quick-Step | s.t. |
| 10 | João Almeida | UAE Team Emirates-XRG | s.t. |
GC after stage 10:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 37hr 33min 52sec |
| 2 | Torstein Træen | Bahrain Victorious | @ 26sec |
| 3 | João Almeida | UAE Team Emirates-XRG | 0:38 |
| 4 | Tom Pidcock | Q36.5 Pro Cycling Team | 0:58 |
| 5 | Felix Gall | Decathlon AG2R La Mondiale | 2:03 |
| 6 | Giulio Ciccone | Lidl-Trek | 2:05 |
| 7 | Matteo Jorgenson | Team Visma | Lease a Bike | 2:12 |
| 8 | Jai Hindley | Red Bull-BORA-hansgrohe | 2:16 |
| 9 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | s.t. |
| 10 | Matthew Riccitello | Israel-Premier Tech | 2:43 |
Monday, September 1: Rest Day 1 in Pamplona
Sunday, August 31: Stage 9, Alfaro - Estación de Esquí de Valdezcaray [Valdezcaray Ski Resort], 195.5 km
Stage 9 complete results, stage story, photos, map & profile

Jonas Vingegaard takes a brilliant solo win. Photo Rafa Gomez/SprintCyclingAgency
Results:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 4hr 32min 10sec |
| 2 | Tom Pidcock | Q36.5 Pro Cycling Team | @ 24sec |
| 3 | João Almeida | UAE Team Emirates-XRG | s.t. |
| 4 | Felix Gall | Decathlon AG2R La Mondiale | 1:02 |
| 5 | Raúl García | Arkea-B&B Hotels | 1:46 |
| 6 | Marc Soler | UAE Team Emirates-XRG | s.t. |
| 7 | Giulio Ciccone | Lidl-Trek | s.t. |
| 8 | Markel Beloki | EF Education-EasyPost | s.t. |
| 9 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
| 10 | Lorenzo Fortunato | XDS Astana Team | s.t. |
GC after stage 9:
| 1 | Torstein Træen | Bahrain Victorious | 33hr 35min 46sec |
| 2 | Jonas Vingegaard | Team Visma | Lease a Bike | @ 37sec |
| 3 | João Almeida | UAE Team Emirates-XRG | 1:15 |
| 4 | Tom Pidcock | Q36.5 Pro Cycling Team | 1:35 |
| 5 | Felix Gall | Decathlon AG2R La Mondiale | 2:14 |
| 6 | Giulio Ciccone | Lidl-Trek | 2:42 |
| 7 | Lorenzo Fortunato | XDS Astana Team | 2:47 |
| 8 | Matteo Jorgenson | Team Visma | Lease a Bike | 2:49 |
| 9 | Jai Hindley | Red Bull-BORA-hansgrohe | 2:53 |
| 10 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | s.t. |
Saturday, August 30: Stage 8, Monzón Templario - Zaragoza, 163.5 km
Complete stage 8 results, stage story, photos, map & profile

Jasper Philipsen (far right) beats Elia Viviani (next to Philipsen in Lotto jersey; who was later relegated) for the stage win. Photo: Sprint Cycling.
Results:
| 1 | Jasper Philipsen | Alpecin-Deceuninck | 3hr 43min 48sec |
| 2 | Ethan Vernon | Israel-Premier Tech | s.t. |
| 3 | Arne Marit | Intermarché-Wanty | s.t. |
| 4 | Anders Foldager | Team Jayco-AlUla | s.t. |
| 5 | Madis Mihkels | EF Education-EasyPost | s.t. |
| 6 | Thibaud Gruel | Groupama-FDJ | s.t. |
| 7 | Fabio Christen | Q36.5 Pro Cycling Team | s.t. |
| 8 | Ben Turner | INEOS Grenadiers | s.t. |
| 9 | Mads Pedersen | Lidl-Trek | s.t. |
| 10 | David González | Q36.5 Pro Cycling Team | s.t. |
GC after stage 8:
| 1 | Torstein Træen | Bahrain Victorious | 29hr 1min 50sec |
| 2 | Jonas Vingegaard | Team Visma | Lease a Bike | @ 2min 33sec |
| 3 | João Almeida | UAE Team Emirates-XRG | 2:41 |
| 4 | Giulio Ciccone | Lidl-Trek | 2:42 |
| 5 | Lorenzo Fortunato | XDS Astana Team | 2:47 |
| 6 | Matteo Jorgenson | Team Visma | Lease a Bike | 2:49 |
| 7 | Jai Hindley | Red Bull-BORA-hansgrohe | 2:53 |
| 8 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | s.t. |
| 9 | Egan Bernal | INEOS Grenadiers | 2:55 |
| 10 | Felix Gall | Decathlon AG2R La Mondiale | 2:58 |
Friday, August 29: Stage 7, Andorra La Vela - Cerler, Huesca la Magia, 188 km
Complete stage 7 results, stage story, photos, map & profile

Stage winner Juan Ayuso has left all the others far behind. Sprint Cycling photo
Results:
| 1 | Juan Ayuso | UAE Team Emirates-XRG | 4hr 49min 41sec |
| 2 | Marco Frigo | Israel-Premier Tech | @ 1min 15sec |
| 3 | Raúl García | Arkea-B&B Hotels | 1:21 |
| 4 | Harold Tejada | XDS Astana Team | 1:28 |
| 5 | Sean Quinn | EF Education-EasyPost | s.t. |
| 6 | Kevin Vermaerke | Team Picnic PostNL | s.t. |
| 7 | Eduardo Sepulveda | Lotto | s.t. |
| 8 | Brieuc Rolland | Groupama-FDJ | 2:17 |
| 9 | Marc Soler | UAE Team Emirates-XRG | 2:30 |
| 10 | Tom Pidcock | Q36.5 Pro Cycling Team | 2:35 |
GC after stage 7:
| 1 | Torstein Træen | Bahrain Victorious | 25hr 18min 2sec |
| 2 | Jonas Vingegaard | Team Visma | Lease a Bike | @ 2min 33sec |
| 3 | João Almeida | UAE Team Emirates-XRG | 2:41 |
| 4 | Giulio Ciccone | Lidl-Trek | 2:42 |
| 5 | Lorenzo Fortunato | XDS Astana Team | 2:47 |
| 6 | Matteo Jorgenson | Team Visma | Lease a Bike | 2:49 |
| 7 | Jai Hindley | Red Bull-BORA-hansgrohe | 2:53 |
| 8 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | s.t. |
| 9 | Egan Bernal | INEOS Grenadiers | 2:55 |
| 10 | Felix Gall | Decathlon AG2R La Mondiale | 2:58 |
Thursday, August 28: Stage 6, Olot - Pal, Andorra, 170.3 km
Complete stage 6 results, stage story, photos, map & profile

Jay Vine wins stage six.
Results:
| 1 | Jay Vine | UAE Team Emirates-XRG | 4hr 12min 36sec |
| 2 | Torstein Træen | Bahrain Victorious | @ 54sec |
| 3 | Lorenzo Fortunato | XDS Astana Team | 1:10 |
| 4 | Bruno Armirail | Decathlon AG2R La Mondiale | 1:15 |
| 5 | Pablo Castrillo | Movistar Team | 1:52 |
| 6 | James Shaw | EF Education-EasyPost | 2:05 |
| 7 | Louis Vervaeke | Soudal Quick-Step | 2:15 |
| 8 | Ramses Debruyne | Alpecin-Deceuninck | 2:19 |
| 9 | Archie Ryan | EF Education-EasyPost | 2:42 |
| 10 | João Almeida | UAE Team Emirates-XRG | 4:19 |
GC after stage 6:
| 1 | Torstein Træen | Bahrain Victorious | 20hr 25min 46sec |
| 2 | Bruno Armirail | Decathlon AG2R La Mondiale | @ 31sec |
| 3 | Lorenzo Fortunato | XDS Astana Team | 1:01 |
| 4 | Louis Vervaeke | Soudal Quick-Step | 1:58 |
| 5 | Jonas Vingegaard | Team Visma | Lease a Bike | 2:33 |
| 6 | João Almeida | UAE Team Emirates-XRG | 2:41 |
| 7 | Giulio Ciccone | Lidl-Trek | 2:42 |
| 8 | Matteo Jorgenson | Team Visma | Lease a Bike | 2:49 |
| 9 | Jai Hindley | Red Bull-BORA-hansgrohe | 2:53 |
| 10 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | s.t. |
Wednesday, August 27: Stage 5, Figueres - Figueres 24.1 km Team Time Trial
Complete stage 5 results, stage story, photos, map & profile

Here's Team Visma | Lease a Bike helping Jonas Vingegaard regain the GC leader's red jersey. Photo: Colin Flockton / PhotoSport International Copyrighted ©
Results:
| 1 | UAE TEAM EMIRATES XRG | 25min 26'sec |
| 2 | TEAM VISMA | LEASE A BIKE | @ 8sec |
| 3 | LIDL-TREK | 0' 09'' |
| 4 | RED BULL-BORA-HANSGROHE | 0' 12'' |
| 5 | INEOS GRENADIERS | 0' 16'' |
| 6 | MOVISTAR TEAM | 0' 17'' |
| 7 | DECATHLON AG2R LA MONDIALE | 0' 17'' |
| 8 | Q36.5 PRO CYCLING TEAM | 0' 22'' |
| 9 | GROUPAMA-FDJ | 0' 24'' |
| 10 | LOTTO | 0' 27'' |
GC after stage 5:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 16hr 11min 24sec |
| 2 | Juan Ayuso | UAE Team Emirates-XRG | @ 8sec |
| 3 | João Almeida | UAE Team Emirates-XRG | s.t. |
| 4 | Marc Soler | UAE Team Emirates-XRG | s.t. |
| 5 | Giulio Ciccone | Lidl-Trek | 0:09 |
| 6 | David Gaudu | Groupama-FDJ | 0:16 |
| 7 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 8 | Jai Hindley | Red Bull-BORA-hansgrohe | 0:20 |
| 9 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | s.t. |
| 10 | Egan Bernal | INEOS Grenadiers | 0:22 |
Tuesday, August 26: Stage 4, Susa (Italy) - Voiron (France), 206.7 km
Complete stage 4 results, stage story, photos, map & profile

Ben Turner wins stage four. Sirotti photo
Results:
| 1 | Ben Turner | INEOS Grenadiers | 4hr 50min 14sec |
| 2 | Jasper Philipsen | Alpecin-Deceuninck | s.t. |
| 3 | Edward Planckaert | Alpecin-Deceuninck | s.t. |
| 4 | Ethan Vernon | Israel-Premier Tech | s.t. |
| 5 | Jenthe Biermans | Arkea-B&B Hotels | s.t. |
| 6 | Mads Pedersen | Lidl-Trek | s.t. |
| 7 | Fabio Christen | Q36.5 Pro Cycling Team | s.t. |
| 8 | Orluis Aular | Movistar Team | s.t. |
| 9 | Thomas Silva | Caja Rural-Seguros RGA | s.t. |
| 10 | Nicolò Buratti | Bahrain Victorious | s.t. |
GC after stage 4:
| 1 | David Gaudu | Groupama-FDJ | 15hr 45min 50sec |
| 2 | Jonas Vingegaard | Team Visma | Lease a Bike | s.t. |
| 3 | Giulio Ciccone | Lidl-Trek | 0:08 |
| 4 | Egan Bernal | INEOS Grenadiers | 0:14 |
| 5 | Tom Pidcock | Q36.5 Pro Cycling Team | 0:16 |
| 6 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
| 7 | Santiago Buitrago | Bahrain Victorious | s.t. |
| 8 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 9 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 10 | Juan Ayuso | UAE Team Emirates-XRG | s.t. |
Monday, August 25: Stage 3, San Maurizio Canavese - Ceres, 130.6 km
Stage 3 complete results, stage story, photos, map & profile

David Gaudu wins stage three. Photo: Sprint Cycling
Results:
| 1 | David Gaudu | Groupama-FDJ | 2hr 59min 24sec |
| 2 | Mads Pedersen | Lidl-Trek | s.t. |
| 3 | Jonas Vingegaard | Team Visma | Lease a Bike | s.t. |
| 4 | Giulio Ciccone | Lidl-Trek | s.t. |
| 5 | Jordan Labrosse | Decathlon AG2R La Mondiale | s.t. |
| 6 | Orluis Aular | Movistar Team | s.t. |
| 7 | Santiago Buitrago | Bahrain Victorious | s.t. |
| 8 | Egan Bernal | INEOS Grenadiers | s.t. |
| 9 | Bjoern Koerdt | Team Picnic PostNL | s.t. |
| 10 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
GC after stage 3:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 10hr 55min 36sec |
| 2 | David Gaudu | Groupama-FDJ | s.t. |
| 3 | Giulio Ciccone | Lidl-Trek | @ 8sec |
| 4 | Egan Bernal | INEOS Grenadiers | 0:14 |
| 5 | Tom Pidcock | Q36.5 Pro Cycling Team | 0:16 |
| 6 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
| 7 | Santiago Buitrago | Bahrain Victorious | s.t. |
| 8 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 9 | Juan Ayuso | UAE Team Emirates-XRG | s.t. |
| 10 | Valentin Paret-Peintre | Soudal Quick-Step | s.t. |
Sunday, August 24: Stage 2, Alba - Limone Piemonte, 159.5 km
Stage 2 complete results, stage story, photos, map & profile
What a sprint! What a picture! Jonas Vingegaard just beats Giulio Ciccone for the stage win and GC lead. Photo: Flockton/PhotoSport International
Results:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 3hr 47min 14sec |
| 2 | Giulio Ciccone | Lidl-Trek | s.t. |
| 3 | David Gaudu | Groupama-FDJ | s.t. |
| 4 | Egan Bernal | INEOS Grenadiers | s.t. |
| 5 | João Almeida | UAE Team Emirates-XRG | @ 2sec |
| 6 | Felix Gall | Decathlon AG2R La Mondiale | s.t. |
| 7 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
| 8 | Juan Ayuso | UAE Team Emirates-XRG | s.t. |
| 9 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 10 | Tom Pidcock | Q36.5 Pro Cycling Team | s.t. |
GC after stage 2:
| 1 | Jonas Vingegaard | Team Visma | Lease a Bike | 7hr 56min 16sec |
| 2 | Giulio Ciccone | Lidl-Trek | @ 4sec |
| 3 | David Gaudu | Groupama-FDJ | 0:06 |
| 4 | Egan Bernal | INEOS Grenadiers | 0:10 |
| 5 | Tom Pidcock | Q36.5 Pro Cycling Team | 0:12 |
| 6 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
| 7 | Santiago Buitrago | Bahrain Victorious | s.t. |
| 8 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 9 | Juan Ayuso | UAE Team Emirates-XRG | s.t. |
| 10 | Marc Soler | UAE Team Emirates-XRG | s.t. |
Saturday, August 23: Stage 1, Torino/Reggia di Venaria - Novara, Italy, 186.7 km
Complete stage 1 results, stage story, photos, map & profile

Jasper Philipsen wins the first stage. Sirotti photo
Results:
| 1 | Jasper Philipsen | Alpecin-Deceuninck | 4hr 9min 12sec |
| 2 | Ethan Vernon | Israel-Premier Tech | s.t. |
| 3 | Orluis Aular | Movistar Team | s.t. |
| 4 | Elia Viviani | Lotto | s.t. |
| 5 | Iván García Cortina | Movistar Team | s.t. |
| 6 | David González | Q36.5 Pro Cycling Team | s.t. |
| 7 | Bryan Coquard | Cofidis | s.t. |
| 8 | Thomas Silva | Caja Rural-Seguros RGA | s.t. |
| 9 | Tom Pidcock | Q36.5 Pro Cycling Team | s.t. |
| 10 | Madis Mihkels | EF Education-EasyPost | s.t. |
GC after stage 1:
| 1 | Jasper Philipsen | Alpecin-Deceuninck | 4hr 9min 2sec |
| 2 | Ethan Vernon | Israel-Premier Tech | @ 4sec |
| 3 | Pepijn Reinderink | Soudal Quick-Step | s.t. |
| 4 | Orluis Aular | Movistar Team | 0:06 |
| 5 | Nicolas Vinokurov | XDS Astana Team | s.t. |
| 6 | Koen Bouwman | Team Jayco-AlUla | 0:08 |
| 7 | Elia Viviani | Lotto | 0:10 |
| 8 | Iván García Cortina | Movistar Team | s.t. |
| 9 | David González | Q36.5 Pro Cycling Team | s.t. |
| 10 | Bryan Coquard | Cofidis | s.t. |