
Sunday, August 24: Stage 2, Alba - Limone Piemonte, 159.5 km
Stage 2 map & profile | Stage 2 photos
What a sprint! What a picture! Jonas Vingegaard just beats Giulio Ciccone for the stage win and GC lead. Photo: Flockton/PhotoSport International
David L. Stanley's masterful telling of his bout with skin cancer Melanoma: It Started with a Freckle is available in print, Kindle eBook and audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at the finish city of Limone Piemonte at 2:30 PM, local time: 20C (68F), cloudy, with the wind from the northeast at 18 km/hr (11 mph). There is a 15% chance of rain.
It was raining on the riders during the final climb to the finish.
Rated ascent:
The stage: First high-altitude finale in this edition. The stage will be mainly flat, with some uphill kilometers at the end. Featuring around 10 km with a 5% inclination, a vast group of riders may fight for victory in the final slopes towards the ski resort, with the leader’s jersey up for grabs.
The race: Here's the race organizer's stage two report.
Jonas Vingegaard (Visma-Lease a Bike) mastered the first uphill finish of La Vuelta 25 on Sunday, narrowly getting the better of Giulio Ciccone (Lidl-Trek) in Limone Piemonte. The Danish climber was involved in a crash that left him with a bloody left elbow but didn’t prevent him from powering to victory in a punchy finale. He also takes his first La Roja, after claiming the Maillot Jaune on 27 occasions at the Tour de France.
He is the third Danish rider to lead the overall standings of La Vuelta after Lars MIchaelsen (1997) and Jakob Fuglsang (2011). David Gaudu (Groupama-FDJ) completes the stage top-3 after his teammate Guillaume Martin-Guyonnet had to withdraw from the race due to a crash. Egan Bernal (Ineos Grenadiers) is the only other rider who managed to finish with the same time as Vingegaard, while Joao Almeida (UAE Team Emirates-XRG) dropped 2’’ on the line.
The race:
After the opening sprint dominated by Jasper Philipsen (Alpecin-Deceuninck) in Novara, the peloton of La Vuelta 25 face a first uphill challenge in Limone Piemonte (9.8km, 5.1%) at the end of a 159.5-km stage from Alba. The crowds celebrate local hero Matteo Sobrero and witness a lively battle for the breakaway after the race paid tribute to Ivan Melendez, a junior rider who passed away on Saturday while competing in the 9th edition of the Vuelta Ciclista a la Ribera del Duero.
Fernandez replaces Denz
Gal Glivar (Alpecin-Deceuninck) is the first rider to attack, as soon as the flag drops. He’s followed by Jakub Otruba (Caja Rural-Seguros RGA) and Liam Slock (Lotto). Already a Grand Tour stage winner on Piedmont roads (Rivoli, Giro 2023), Nico Denz (Red Bull-Bora-Hansgrohe) joins them at km 3, and the battle goes on behind them with Burgos Burpellet BH determined to make the break.
At km 10, Sinhué Fernandez attacks for the Spanish team. He has a gap of 1’05’’ to bridge. In the process, he moves past Denz, dropping back to the bunch led by Q36.5 as Tom Pidcock’s teammates react when the gap hits a maximum of 2’50’’ (km 15). After 29 kilometres, Fernandez eventually makes it a 4-man break for the day.
Q36.5 lead a peloton affected by crashes
Xabier Mikel Azparren (Q36.5) is tasked with controlling the gap at around 2 minutes, while Philipsen enjoys his first day with La Roja. He is the 34th Belgian rider to lead the overall standings of La Vuelta, following the likes of Gustaaf Deloor (winner of the first edition, in 1935) and Wout van Aert (2 days in the overall lead in 2024). But he expects to lose La Roja by the end of the day.

73 km to go. A four-man break—Gal Glivar (Alpecin-Deceuninck), Jakub Otruba (Caja Rural-Seguros RGA), Liam Slock (Lotto) and Sinhué Fernandez (Burgos Burpellet BH)—has a 1min 50sec lead on the peloton. CXCycling photo
With 46 kilometres to go, Otruba attacks on an uphill section. Glivar and then Slock manage to follow him while Fernandez is distanced and caught by the bunch, affected by several crashes on wet roads. Guillaume Martin-Guyonnet (Groupama-FDJ) is the first rider out of La Vuelta. Jonas Vingegaard (Visma-Lease a Bike) also hits the deck but he rapidly resumes racing.

Big crash in the peloton with 26 km to go. Everyone was able to get up and rejoin the race.
Vingegaard edges Ciccone
At the bottom of the final climb, the lead trio are only 40’’ ahead of the bunch. Philipsen is immediately dropped from a fast paced bunch that get back to Glivar and Otruba with 7 km to go. Slock is reeled in a kilometre later.
Fog at the mountain top. Jonas Vingegaard just beats Giulio Ciccone for the stage win. Sirotti photo
Visma-Lease a Bike set a strong pace, preventing attacks until the final kilometre. Marc Soler (UAE Team Emirates-XRG) and Felix Gall (Decathlon AG2R La Mondiale) try to get away but Sepp Kuss (Visma-Lease a Bike) controls their move. Giulio Ciccone (Lidl-Trek) launches a strong sprint but Vingegaard manages to jump him on the line, taking his third stage win at La Vuelta and his first La Roja.
Complete results:
159.5 kilometers raced at an average speed of 42.115 km/hr
| 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. |
| 11 | Martin López | XDS Astana Team | s.t. |
| 12 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 13 | Ben O'Connor | Team Jayco-AlUla | s.t. |
| 14 | Valentin Paret-Peintre | Soudal Quick-Step | s.t. |
| 15 | Victor Langellotti | INEOS Grenadiers | s.t. |
| 16 | Harold Tejada | XDS Astana Team | s.t. |
| 17 | Matthew Riccitello | Israel-Premier Tech | s.t. |
| 18 | Lorenzo Fortunato | XDS Astana Team | s.t. |
| 19 | Marc Soler | UAE Team Emirates-XRG | s.t. |
| 20 | Junior Lecerf | Soudal Quick-Step | s.t. |
| 21 | Santiago Buitrago | Bahrain Victorious | s.t. |
| 22 | Jefferson Cepeda | Movistar Team | s.t. |
| 23 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | s.t. |
| 24 | Mikel Landa | Soudal Quick-Step | s.t. |
| 25 | Marco Frigo | Israel-Premier Tech | s.t. |
| 26 | Torstein Træen | Bahrain Victorious | 0:21 |
| 27 | Antonio Tiberi | Bahrain Victorious | s.t. |
| 28 | Cristian Rodriguez | Arkea-B&B Hotels | s.t. |
| 29 | Kevin Vermaerke | Team Picnic PostNL | s.t. |
| 30 | Sergio Chumil | Burgos Burpellet BH | s.t. |
| 31 | Matteo Sobrero | Red Bull-BORA-hansgrohe | 0:25 |
| 32 | Jan Hirt | Israel Premier Tech | 0:28 |
| 33 | Javier Romo | Movistar Team | 0:30 |
| 34 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | s.t. |
| 35 | Louis Rouland | Arkea-B&B Hotels | 0:33 |
| 36 | Ben Tulett | Team Visma | Lease a Bike | s.t. |
| 37 | Thomas Silva | Caja Rural-Seguros RGA | s.t. |
| 38 | Simon Carr | Cofidis | s.t. |
| 39 | Chris Harper | Team Jayco-AlUla | s.t. |
| 40 | Léo Bisiaux | Decathlon AG2R La Mondiale | s.t. |
| 41 | Giovanni Aleotti | Red Bull-BORA-hansgrohe | s.t. |
| 42 | Abel Balderstone | Caja Rural-Seguros RGA | s.t. |
| 43 | Mario Aparicio | Burgos Burpellet BH | s.t. |
| 44 | Louis Meintjes | Intermarché-Wanty | s.t. |
| 45 | Alex Molenaar | Caja Rural-Seguros RGA | 0:39 |
| 46 | Bruno Armirail | Decathlon AG2R La Mondiale | s.t. |
| 47 | Sander De Pestel | Decathlon AG2R La Mondiale | s.t. |
| 48 | Louis Vervaeke | Soudal Quick-Step | s.t. |
| 49 | Markel Beloki | EF Education-EasyPost | 0:49 |
| 50 | Jesus Herrada | Cofidis | s.t. |
| 51 | Esteban Chaves | EF Education-EasyPost | s.t. |
| 52 | Wout Poels | XDS Astana Team | 0:52 |
| 53 | Jaume Guardeño | Caja Rural-Seguros RGA | 0:55 |
| 54 | Archie Ryan | EF Education-EasyPost | 0:58 |
| 55 | Lars Craps | Lotto | 1:00 |
| 56 | Raúl García | Arkea-B&B Hotels | 1:08 |
| 57 | Luca Vergallito | Alpecin-Deceuninck | 1:10 |
| 58 | Juan Guillermo Martinez | Team Picnic PostNL | s.t. |
| 59 | Afonso Braz | Clément Groupama-FDJ | s.t. |
| 60 | Brieuc Rolland | Groupama-FDJ | s.t. |
| 61 | José Luis Faura | Burgos Burpellet BH | s.t. |
| 62 | Rud Molard | Groupama-FDJ | s.t. |
| 63 | Michal Kwiatkowski | INEOS Grenadiers | s.t. |
| 64 | Mauri Vansevenant | Soudal Quick-Step | s.t. |
| 65 | Edward Dunbar | Team Jayco-AlUla | s.t. |
| 66 | Sergio Samitier | Cofidis | s.t. |
| 67 | Nicola Conci | XDS Astana Team | s.t. |
| 68 | Pablo Castrillo | Movistar Team | s.t. |
| 69 | Orluis Aular | Movistar Team | s.t. |
| 70 | Sean Quinn | EF Education-EasyPost | s.t. |
| 71 | Sergio Higuita | XDS Astana Team | s.t. |
| 72 | Andrea Bagioli | Lidl-Trek | s.t. |
| 73 | Max Schachmann | Soudal Quick-Step | s.t. |
| 74 | Kamiel Bonneu | Intermarché-Wanty | 1:23 |
| 75 | James Shaw | EF Education-EasyPost | 1:29 |
| 76 | David de la Cruz | Q36.5 Pro Cycling Team | s.t. |
| 77 | George Bennett | Israel-Premier Tech | s.t. |
| 78 | Emanuel Buchmann | Cofidis | s.t. |
| 79 | Fausto Masnada | XDS Astana Team | s.t. |
| 80 | Julien Bernard | Lidl-Trek | 1:34 |
| 81 | Brandon Rivera | INEOS Grenadiers | 1:36 |
| 82 | Callum Scotson | Decathlon AG2R La Mondiale | s.t. |
| 83 | Damien Howson | Q36.5 Pro Cycling Team | 1:51 |
| 84 | Lukas Nerurkar | EF Education-EasyPost | 1:53 |
| 85 | Gianmarco Garofoli | Soudal Quick-Step | 2:18 |
| 86 | Alessandro Verre | Arkea-B&B Hotels | s.t. |
| 87 | Carlos Canal | Team Movistar | 2:44 |
| 88 | Wilco Kelderman | Team Visma | Lease a Bike | 2:50 |
| 89 | Johannes Staune-Mittet | Decathlon AG2R La Mondiale | s.t. |
| 90 | Nans Peters | Decathlon AG2R La Mondiale | s.t. |
| 91 | Paul Ourselin | Cofidis | s.t. |
| 92 | Simone Petilli | Intermarché-Wanty | s.t. |
| 93 | Ben Zwiehoff | Red Bull-BORA-hansgrohe | 3:15 |
| 94 | Felix Großschartner | UAE Team Emirates-XRG | s.t. |
| 95 | Magnus Sheffield | INEOS Grenadiers | 3:34 |
| 96 | Finlay Pickering | Bahrain Victorious | s.t. |
| 97 | Jardi Van Der Lee | EF Education-EasyPost | 4:06 |
| 98 | Oliver Knight | Cofidis | 4:11 |
| 99 | Pier-André Côté | Israel-Premier Tech | 4:18 |
| 100 | Jay Vine | UAE Team Emirates-XRG | 4:22 |
| 101 | Nico Denz | Red Bull-BORA-hansgrohe | 4:58 |
| 102 | Chris Hamilton | Team Picnic PostNL | s.t. |
| 103 | Stefan Küng | Groupama-FDJ | 5:12 |
| 104 | Dries De Pooter | Intermarché-Wanty | 5:26 |
| 105 | Luca Van Boven | Intermarché-Wanty | s.t. |
| 106 | Jordan Labrosse | Decathlon AG2R La Mondiale | s.t. |
| 107 | Fernando Barceló | Caja Rural-Seguros RGA | s.t. |
| 108 | Gijs Leemreize | Team Picnic PostNL | s.t. |
| 109 | Koen Bouwman | Team Jayco-AlUla | s.t. |
| 110 | Kelland O'Brien | Team Jayco-AlUla | s.t. |
| 111 | Michel Heßmann | Movistar Team | 5:29 |
| 112 | Victor Campenaerts | Team Visma | Lease a Bike | 6:05 |
| 113 | Jack Haig | Bahrain Victorious | s.t. |
| 114 | Jonas Gregaard | Lotto | s.t. |
| 115 | Carlos Verona | Lidl-Trek | s.t. |
| 116 | Bob Jungels | INEOS Grenadiers | s.t. |
| 117 | Victor Guernalec | Arkea-B&B Hotels | s.t. |
| 118 | Thibaud Gruel | Groupama-FDJ | s.t. |
| 119 | Mads Pedersen | Lidl-Trek | s.t. |
| 120 | Roman Ermakov | Bahrain Victorious | s.t. |
| 121 | Christopher Juul-Jensen | Team Jayco-AlUla | s.t. |
| 122 | Eric Fagundez | Burgos Burpellet BH | 6:11 |
| 123 | Eduardo Sepulveda | Lotto | 6:33 |
| 124 | Jonas Rickaert | Alpecin-Deceuninck | 6:58 |
| 125 | Patrick Gamper | Team Jayco-AlUla | s.t. |
| 126 | Dion Smith | Intermarché-Wanty | 7:00 |
| 127 | Iván García Cortina | Movistar Team | s.t. |
| 128 | Dylan van Baarle | Team Visma | Lease a Bike | s.t. |
| 129 | Joan Bou | Caja Rural-Seguros RGA | s.t. |
| 130 | Remi Cavagna | Groupama-FDJ | s.t. |
| 131 | Pepijn Reinderink | Soudal Quick-Step | 7:19 |
| 132 | Marcel Camprubí | Q36.5 Pro Cycling Team | 7:51 |
| 133 | Hugo de la Calle | Burgos Burpellet BH | s.t. |
| 134 | Bryan Coquard | Cofidis | s.t. |
| 135 | Léandre Lozouet | Arkea-B&B Hotels | 8:17 |
| 136 | Pierre Thierry | Arkea-B&B Hotels | s.t. |
| 137 | Jake Stewart | Israel-Premier Tech | 8:30 |
| 138 | Nadav Raisberg | Israel-Premier Tech | s.t. |
| 139 | Jenthe Biermans | Arkea-B&B Hotels | s.t. |
| 140 | Anders Foldager | Team Jayco-AlUla | 8:35 |
| 141 | Bjoern Koerdt | Team Picnic PostNL | 9:13 |
| 142 | Timo Roosen | Team Picnic PostNL | s.t. |
| 143 | Gal Glivar | Alpecin-Deceuninck | s.t. |
| 144 | Nicolò Buratti | Bahrain Victorious | 9:18 |
| 145 | Jakub Otruba | Caja Rural-Seguros RGA | 9:53 |
| 146 | Daan Hoole | Lidl-Trek | 10:08 |
| 147 | Søren Kragh Andersen | Lidl-Trek | s.t. |
| 148 | Ethan Vernon | Israel-Premier Tech | 10:29 |
| 149 | Ben Turner | INEOS Grenadiers | s.t. |
| 150 | Fabio Christen | Q36.5 Pro Cycling Team | s.t. |
| 151 | David González | Q36.5 Pro Cycling Team | s.t. |
| 152 | Domen Novak | UAE Team Emirates-XRG | 11:00 |
| 153 | Ivo Oliveira | UAE Team Emirates-XRG | s.t. |
| 154 | Nicolas Vinokurov | XDS Astana Team | 11:06 |
| 155 | Jasper Philipsen | Alpecin-Deceuninck | 11:13 |
| 156 | Tobias Bayer | Alpecin-Deceuninck | s.t. |
| 157 | Arne Marit | Intermarché-Wanty | s.t. |
| 158 | Madis Mihkels | EF Education-EasyPost | s.t. |
| 159 | Alec Segaert | Lotto | s.t. |
| 160 | Elia Viviani | Lotto | s.t. |
| 161 | Jasper De Buyst | Lotto | s.t. |
| 162 | Liam Slock | Lotto | s.t. |
| 163 | Arjen Livyns | Lotto | s.t. |
| 164 | Oscar Riesebeek | Alpecin-Deceuninck | s.t. |
| 165 | Edward Planckaert | Alpecin-Deceuninck | s.t. |
| 166 | Ramses Debruyne | Alpecin-Deceuninck | s.t. |
| 167 | Joel Nicolau | Caja Rural-Seguros RGA | s.t. |
| 168 | Ghebreigzabhier | Amanuel Lidl-Trek | s.t. |
| 169 | Stanislaw Aniolkowski | Cofidis | s.t. |
| 170 | Patrick Eddy | Team Picnic PostNL | s.t. |
| 171 | Casper van Uden | Team Picnic PostNL | s.t. |
| 172 | Mikkel Bjerg | UAE Team Emirates-XRG | 11:24 |
| 173 | Filippo Ganna | INEOS Grenadiers | s.t. |
| 174 | Mathijs Paasschens | Bahrain Victorious | 11:31 |
| 175 | Huub Artz | Intermarché-Wanty | 12:14 |
| 176 | Daniel Cavia | Burgos Burpellet BH | s.t. |
| 177 | Sinuhé Fernandez | Burgos Burpellet BH | s.t. |
| 178 | Carlos Garcia | Burgos Burpellet BH | 13:24 |
| 179 | Xabier Azparren | Q36.5 Pro Cycling Team | 19:33 |
| 180 | Nickolas Zukowsky | Q36.5 Pro Cycling Team | s.t. |
| 181 | Jorge Arcas | Movistar Team | 19:57 |
| 182 | Tim van Dijke | Red Bull-BORA-hansgrohe | 22:23 |
| 183 | Axel Zingle | Team Visma | Lease a Bike | 24:05 |
GC after stage 2:
346.2 kilometers raced so far at an average speed of 43.614 km/hr
| 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. |
| 11 | Junior Lecerf | Soudal Quick-Step | s.t. |
| 12 | João Almeida | UAE Team Emirates-XRG | s.t. |
| 13 | Paret-Peintre | Valentin Soudal Quick-Step | s.t. |
| 14 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 15 | Ben O'Connor | Team Jayco-AlUla | s.t. |
| 16 | Jefferson Cepeda | Movistar Team | s.t. |
| 17 | Matthew Riccitello | Israel-Premier Tech | s.t. |
| 18 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | s.t. |
| 19 | Martin López | XDS Astana Team | s.t. |
| 20 | Marco Frigo | Israel-Premier Tech | s.t. |
| 21 | Mikel Landa | Soudal Quick-Step | s.t. |
| 22 | Lorenzo Fortunato | XDS Astana Team | s.t. |
| 23 | Victor Langellotti | INEOS Grenadiers | s.t. |
| 24 | Felix Gall | Decathlon AG2R La Mondiale | s.t. |
| 25 | Harold Tejada | XDS Astana Team | s.t. |
| 26 | Sergio Chumil | Burgos Burpellet BH | 0:31 |
| 27 | Kevin Vermaerke | Team Picnic PostNL | s.t. |
| 28 | Antonio Tiberi | Bahrain Victorious | s.t. |
| 29 | Cristian Rodriguez | Arkea-B&B Hotels | s.t. |
| 30 | Torstein Træen | Bahrain Victorious | s.t. |
| 31 | Matteo Sobrero | Red Bull-BORA-hansgrohe | 0:35 |
| 32 | Jan Hirt | Israel-Premier Tech | 0:38 |
| 33 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | 0:40 |
| 34 | Javier Romo | Movistar Team | s.t. |
| 35 | Thomas Silva | Caja Rural-Seguros RGA | 0:43 |
| 36 | Ben Tulett | Visma | Lease a Bike | s.t. |
| 37 | Giovanni Aleotti | Red Bull-BORA-hansgrohe | s.t. |
| 38 | Chris Harper | Team Jayco-AlUla | s.t. |
| 39 | Louis Meintjes | Intermarché-Wanty | s.t. |
| 40 | Mario Aparicio | Burgos Burpellet BH | s.t. |
| 41 | Abel Balderstone | Caja Rural-Seguros RGA | s.t. |
| 42 | Simon Carr | Cofidis | s.t. |
| 43 | Léo Bisiaux | Decathlon AG2R La Mondiale | s.t. |
| 44 | Louis Rouland | Arkea-B&B Hotels | s.t. |
| 45 | Bruno Armirail | Decathlon AG2R La Mondiale | 0:49 |
| 46 | Alex Molenaar | Caja Rural-Seguros RGA | s.t. |
| 47 | Louis Vervaeke | Soudal Quick-Step | s.t. |
| 48 | Sander De Pestel | Decathlon AG2R La Mondiale | s.t. |
| 49 | Esteban Chaves | EF Education-EasyPost | 0:59 |
| 50 | Markel Beloki | EF Education-EasyPost | s.t. |
| 51 | Jesus Herrada | Cofidis | s.t. |
| 52 | Wout Poels | XDS Astana Team | 1:02 |
| 53 | Jaume Guardeño | Caja Rural-Seguros RGA | 1:05 |
| 54 | Archie Ryan | EF Education-EasyPost | 1:08 |
| 55 | Lars Craps | Lotto | 1:10 |
| 56 | Orluis Aular | Movistar Team | 1:16 |
| 57 | Raúl García | Arkea-B&B Hotels | 1:18 |
| 58 | Rudy Molard | Groupama-FDJ | 1:20 |
| 59 | Nicola Conci | XDS Astana Team | s.t. |
| 60 | Michal Kwiatkowski | INEOS Grenadiers | s.t. |
| 61 | Juan Guillermo Martinez | Team Picnic PostNL | s.t. |
| 62 | Mauri Vansevenant | Soudal Quick-Step | s.t. |
| 63 | Brieuc Rolland | Groupama-FDJ | s.t. |
| 64 | Clément Braz Afonso | Groupama-FDJ | s.t. |
| 65 | Max Schachmann | Soudal Quick-Step | s.t. |
| 66 | Andrea Bagioli | Lidl-Trek | s.t. |
| 67 | Sergio Samitier | Cofidis | s.t. |
| 68 | Sergio Higuita | XDS Astana Team | s.t. |
| 69 | Sean Quinn | EF Education-EasyPost | s.t. |
| 70 | Edward Dunbar | Team Jayco-AlUla | s.t. |
| 71 | Luca Vergallito | Alpecin-Deceuninck | s.t. |
| 72 | Luis Faura José | Burgos Burpellet BH | s.t. |
| 73 | Pablo Castrillo | Movistar Team | s.t. |
| 74 | Kamiel Bonneu | Intermarché-Wanty | 1:33 |
| 75 | George Bennett | Israel-Premier Tech | 1:39 |
| 76 | Fausto Masnada | XDS Astana Team | s.t. |
| 77 | James Shaw | EF Education-EasyPost | s.t. |
| 78 | David de la Cruz | Q36.5 Pro Cycling Team | s.t. |
| 79 | Emanuel Buchmann | Cofidis | s.t. |
| 80 | Julien Bernard | Lidl-Trek | 1:44 |
| 81 | Brandon Rivera | INEOS Grenadiers | 1:46 |
| 82 | Callum Scotson | Decathlon AG2R La Mondiale | s.t. |
| 83 | Damien Howson | Q36.5 Pro Cycling Team | 2:01 |
| 84 | Lukas Nerurkar | EF Education-EasyPost | 2:03 |
| 85 | Gianmarco Garofoli | Soudal Quick-Step | 2:28 |
| 86 | Alessandro Verre | Arkea-B&B Hotels | s.t. |
| 87 | Carlos Canal | Movistar Team | 2:54 |
| 88 | Paul Ourselin | Cofidis | 3:00 |
| 89 | Nans Peters | Decathlon AG2R La Mondiale | s.t. |
| 90 | Wilco Kelderman | Team Visma | Lease a Bike | s.t. |
| 91 | Simone Petilli | Intermarché-Wanty | s.t. |
| 92 | Staune-Mittet | Johannes Decathlon AG2R La Mondiale | s.t. |
| 93 | Großschartner | Felix UAE Team Emirates-XRG | 3:25 |
| 94 | Ben Zwiehoff | Red Bull-BORA-hansgrohe | s.t. |
| 95 | Magnus Sheffield | INEOS Grenadiers | 3:44 |
| 96 | Finlay Pickering | Bahrain Victorious | s.t. |
| 97 | Jardi Van Der Lee | EF Education-EasyPost | 4:16 |
| 98 | Oliver Knight | Cofidis | 4:21 |
| 99 | Pier-André Côté | Israel-Premier Tech | 4:28 |
| 100 | Nico Denz | Red Bull-BORA-hansgrohe | 5:08 |
| 101 | Chris Hamilton | Team Picnic PostNL | s.t. |
| 102 | Stefan Küng | Groupama-FDJ | 5:22 |
| 103 | Koen Bouwman | Team Jayco-AlUla | 5:34 |
| 104 | Dries De Pooter | Intermarché-Wanty | 5:36 |
| 105 | Jordan Labrosse | Decathlon AG2R La Mondiale | s.t. |
| 106 | Kelland O'Brien | Team Jayco-AlUla | s.t. |
| 107 | Fernando Barceló | Caja Rural-Seguros RGA | s.t. |
| 108 | Gijs Leemreize | Team Picnic PostNL | s.t. |
| 109 | Michel Heßmann | Movistar Team | 5:39 |
| 110 | Luca Van Boven | Intermarché-Wanty | 6:10 |
| 111 | Mads Pedersen | Lidl-Trek | 6:15 |
| 112 | Thibaud Gruel | Groupama-FDJ | s.t. |
| 113 | Bob Jungels | INEOS Grenadiers | s.t. |
| 114 | Carlos Verona | Lidl-Trek | s.t. |
| 115 | Roman Ermakov | Bahrain Victorious | s.t. |
| 116 | Victor Campenaerts | Team Visma | Lease a Bike | s.t. |
| 117 | Jack Haig | Bahrain Victorious | s.t. |
| 118 | Victor Guernalec | Arkea-B&B Hotels | s.t. |
| 119 | Jonas Gregaard | Lotto | s.t. |
| 120 | Juul-Jensen Christopher | Jayco-AlUla | s.t. |
| 121 | Eric Fagundez | Burgos Burpellet BH | 6:21 |
| 122 | Eduardo Sepulveda | Lotto | 6:43 |
| 123 | Jonas Rickaert | Alpecin-Deceuninck | 7:08 |
| 124 | Patrick Gamper | Team Jayco-AlUla | s.t. |
| 125 | Cortina García | Iván Movistar Team | 7:10 |
| 126 | Dylan van Baarle | Team Visma | Lease a Bike | s.t. |
| 127 | Remi Cavagna | Groupama-FDJ | s.t. |
| 128 | Dion Smith | Intermarché-Wanty | s.t. |
| 129 | Pepijn Reinderink | Soudal Quick-Step | 7:23 |
| 130 | Joan Bou | Caja Rural-Seguros RGA | 7:44 |
| 131 | Jay Vine | UAE Team Emirates-XRG | 8:00 |
| 132 | Bryan Coquard | Cofidis | 8:01 |
| 133 | Marcel Camprubí | Q36.5 Pro Cycling Team | s.t. |
| 134 | Hugo de la Calle | Burgos Burpellet BH | s.t. |
| 135 | Léandre Lozouet | Arkea-B&B Hotels | 8:27 |
| 136 | Pierre Thierry | Arkea-B&B Hotels | s.t. |
| 137 | Jake Stewart | Israel-Premier Tech | 8:40 |
| 138 | Jenthe Biermans | Arkea-B&B Hotels | s.t. |
| 139 | Nadav Raisberg | Israel-Premier Tech | s.t. |
| 140 | Anders Foldager | Team Jayco-AlUla | 8:45 |
| 141 | Bjoern Koerdt | Team Picnic PostNL | 9:23 |
| 142 | Timo Roosen | Team Picnic PostNL | 9:23 |
| 143 | Gal Glivar | Alpecin-Deceuninck | s.t. |
| 144 | Nicolò Buratti | Bahrain Victorious | 9:28 |
| 145 | Jakub Otruba | Caja Rural-Seguros RGA | 9:59 |
| 146 | Søren Kragh Andersen | Lidl-Trek | 10:18 |
| 147 | Daan Hoole | Lidl-Trek | s.t. |
| 148 | Ethan Vernon | Israel-Premier Tech | 10:33 |
| 149 | David González | Q36.5 Pro Cycling Team | 10:39 |
| 150 | Ben Turner | INEOS Grenadiers | s.t. |
| 151 | Fabio Christen | Q36.5 Pro Cycling Team | s.t. |
| 152 | Ivo Oliveira | UAE Team Emirates-XRG | 11:10 |
| 153 | Domen Novak | UAE Team Emirates-XRG | s.t. |
| 154 | Nicolas Vinokurov | XDS Astana Team | 11:12 |
| 155 | Jasper Philipsen | Alpecin-Deceuninck | 11:13 |
| 156 | Liam Slock | Lotto | 11:17 |
| 157 | Elia Viviani | Lotto | 11:23 |
| 158 | Madis Mihkels | EF Education-EasyPost | s.t. |
| 159 | Arne Marit | ntermarché-Wanty | s.t. |
| 160 | Edward Planckaert | Alpecin-Deceuninck | s.t. |
| 161 | Stanislaw Aniolkowski | Cofidis | s.t. |
| 162 | Casper van Uden | Team Picnic PostNL | s.t. |
| 163 | Alec Segaert | Lotto | s.t. |
| 164 | Patrick Eddy | Team Picnic PostNL | s.t. |
| 165 | Arjen Livyns | Lotto | s.t. |
| 166 | Jasper De Buyst | Lotto | s.t. |
| 167 | Tobias Bayer | Alpecin-Deceuninck | s.t. |
| 168 | Ramses Debruyne | Alpecin-Deceuninck | s.t. |
| 169 | Oscar Riesebeek | Alpecin-Deceuninck | s.t. |
| 170 | Mikkel Bjerg | UAE Team Emirates-XRG | 11:34 |
| 171 | Filippo Ganna | INEOS Grenadiers | s.t. |
| 172 | Mathijs Paasschens | Bahrain Victorious | 11:41 |
| 173 | Amanuel Ghebreigzabhier | Lidl-Trek | 11:57 |
| 174 | Sinuhé Fernandez | Burgos Burpellet BH | 12:22 |
| 175 | Daniel Cavia | Burgos Burpellet BH | 12:24 |
| 176 | Huub Artz | Intermarché-Wanty | s.t. |
| 177 | Joel Nicolau | Caja Rural-Seguros RGA | 13:05 |
| 178 | Carlos Garcia | Burgos Burpellet BH | 13:34 |
| 179 | Xabier Azparren | Q36.5 Pro Cycling Team | 19:43 |
| 180 | Nickolas Zukowsky | Q36.5 Pro Cycling Team | 19:43 |
| 181 | Jorge Arcas | Movistar Team | 20:07 |
| 182 | Tim van Dijke | Red Bull-BORA-hansgrohe | 22:33 |
| 183 | Axel Zingle | Team Visma | Lease a Bike | 24:01 |
Stage 2 map & profile:

Stage 2 map

Stage 2 profile .
Stage 2 photos by Fotoreporter Sirotti:

Overnight GC leader Jasper Philipsen signs autographs before the stage start.

Mads Pedersen

Jonas Vingegaard

Juan Ayuso

Mikel Landa

Ben O'Connor

Team Groupama-FDJ is presented.

The finish: sprinting on a foggy mountaintop.

The stage and the GC lead are Jonas Vingegaard's.

Jonas Vingegaard just after winning the stage.

Juan Ayuso now leads the young rider classification

Jasper Philipsen leads the points classification.

Jonas Vingegaard will start stage three in the GC leader's red jersey.