
Saturday, September 6: Stage 14, Avilés - La Farrapona. Lagos de Somiedo, 135.9 km
Stage 14 map & profile | Stage 14 photos

Marc Soler wins stage 14.
Les Woodland's book Dirty Feet: How the Great Unwashed Created the Tour de France is available in print, Kindle eBook & audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at the city of Las Morteras, on the route, 28 km from the finish at 2:30 PM, local time: 28C (83F), sunny, with the wind from the southwest at 13 km/hr (8 mph). No rain is forecast.
Rated ascents:
The stage: Short, tough stage in Asturian territory. The escape will be made up of important riders, good climbers with some margin in the general classification. The ascent to the Alto de San Lorenzo will add to the stage’s toughness before completing the final climb to Farrapona, where the favorites can put their strength to the test.
The race: Sergio Higuita (XDS Astana), tired after a recent illness, did not start.
Here's the race organizer's stage 14 report:
The day after Joao Almeida conquered L’Angliru, it was Marc Soler’s turn to shine for UAE Team Emirates-XRG on La Farrapona. The Spanish attacker delivered a masterclass performance to claim a summit he had previously settled for second on behind David Gaudu in 2020. On stage 14 of La Vuelta 2025, he joined the breakaway again and dropped his rivals with 16 km to go. Soler is the fourth different stage winner for the Emirati outfit in this edition, bringing their tally to seven stage wins - the best score this century in a single edition of the Spanish Grand Tour, surpassing Quick-Step Floors’ six victories in 2017. Jonas Vingegaard (Visma-Lease a Bike) and Joao Almeida (UAE Team Emirates-XRG) rounded out the day’s podium, finishing 39 seconds behind and confirming they are the two main contenders for La Roja with eight stages to go.

Classification leaders on the start line. Looks like a nice day for a bike race.
The stage
On the day after L’Angliru, another emblematic Asturias summit awaits the riders, with a gruelling finish at La Farrapona, after overcoming mighty ascents such as L’Alto Tenebreo and the Puertu de San Llaurienzu. The stage is short - 135.9 km from Avilés - but it packs 3,805 m of elevation.
Another hard battle for a 24-man break
Jonas Rickaert (Alpecin-Deceuninck) is the first attacker of the day, at km 0, but he’s reeled in at km 12 after a flurry of attacks. After some 20 km of battle, a group of 22 attackers eventually emerge at the front, with the likes of Marc Soler (UAE Team Emirates-XRG), Victor Campenaerts (Visma-Lease a Bike), Carlos Verona (Lidl-Trek), Jefferson Cepeda (Movistar), James Shaw (EF Education-EasyPost), Kevin Vermaerke (Picnic PostNL)…
Campenaerts drops from the breakaway due to a mechanical, but he manages to make it back to the front at km 57, with Gijs Leemreize (Picnic PostNL) by his side. In the meantime (km 43), Xabier Mikel Azparren (Q36.5) had also bridged the gap to the front of the race. That makes a total of 24 riders to lead the way.
UAE Team Emirates-XRG up the ante
Jonas Vingegaard’s Visma-Lease a Bike drive the bunch. The gap gradually increases to 5 minutes, and then 6 minutes after the first ascent of the day, Alto del Tenebreo (summit at km 69.5). Joao Almeida’s UAE Team Emirates-XRG react, with Ivo Oliveira, Domen Novak and Juan Ayuso setting the pace on the climb up Puertu de San Llaurenziu (10.1km at 8.5%).
At the front, James Shaw (EF Education-Lease a Bike) crests the summit first, with ten more attackers in his wake. The gap to the bunch is down to 3’20’’.
Soler’s masterclass
The attackers get back together just before the final climb to La Farrapona. Marc Soler immediately puts the hammer down. Johannes Staune-Mittet (Decathlon AG2R La Mondiale) tries to follow but the Spaniard attacker goes solo with 16 km to go. Meanwhile, UAE Team Emirates-XRG still drive the GC group
Red Bull-Bora-Hansgrohe up the ante into the last 4 kilometres. But Soler is too far ahead. Despite an attack Jai Hindley’s attack in the final kilometre, the Spaniard takes his 4th La Vuelta stage win, his team’s 7th in this edition, 39 seconds ahead of Jonas Vingegaard and Joao Almeida.
Complete results:
135.9 kilometers raced at an average speed of 35.706 km/hr
| 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 |
| 11 | Torstein Træen | Bahrain Victorious | 1:45 |
| 12 | Kevin Vermaerke | Team Picnic PostNL | 2:05 |
| 13 | Harold Tejada | XDS Astana Team | 2:21 |
| 14 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 15 | Felix Grossschartner | UAE Team Emirates-XRG | 2:46 |
| 16 | Ben Tulett | Team Visma | Lease a Bike | 2:49 |
| 17 | Johannes Staune-Mittet | Decathlon AG2R La Mondiale | 4:06 |
| 18 | Gianmarco Garofoli | Soudal Quick-Step | 4:18 |
| 19 | Abel Balderstone | Caja Rural-Seguros RGA | 4:38 |
| 20 | Jaume Guardeño | Caja Rural-Seguros RGA | 4:45 |
| 21 | Bruno Armirail | Decathlon AG2R La Mondiale | 4:47 |
| 22 | Edward Dunbar | Team Jayco-AlUla | 5:03 |
| 23 | Pierre Thierry | Arkea-B&B Hotels | 6:10 |
| 24 | Jan Hirt | Israel-Premier Tech | 6:42 |
| 25 | Sergio Samitier | Cofidis | 9:02 |
| 26 | Hugo de la Calle | Burgos Burpellet BH | 9:10 |
| 27 | Joan Bou | Caja Rural-Seguros RGA | 9:47 |
| 28 | Louis Meintjes | Intermarché-Wanty | 11:02 |
| 29 | Santiago Buitrago | Bahrain Victorious | 11:07 |
| 30 | Junior Lecerf | Soudal Quick-Step | s.t. |
| 31 | Fausto Masnada | XDS Astana Team | 11:20 |
| 32 | Damien Howson | Q36.5 Pro Cycling Team | 11:56 |
| 33 | Mathijs Paasschens | Bahrain Victorious | 13:09 |
| 34 | Lars Craps | Lotto | s.t. |
| 35 | James Shaw | EF Education-EasyPost | 13:13 |
| 36 | Jay Vine | UAE Team Emirates-XRG | s.t. |
| 37 | Carlos Verona | Lidl-Trek | s.t. |
| 38 | Jefferson Cepeda | Movistar Team | s.t. |
| 39 | Léo Bisiaux | Decathlon AG2R La Mondiale | s.t. |
| 40 | David González | Q36.5 Pro Cycling Team | 14:58 |
| 41 | Jardi Van Der Lee | EF Education-EasyPost | 15:20 |
| 42 | Gijs Leemreize | Team Picnic PostNL | 15:45 |
| 43 | Jack Haig | Bahrain Victorious | 18:14 |
| 44 | Andrea Bagioli | Lidl-Trek | 20:34 |
| 45 | Julien Bernard | Lidl-Trek | 21:08 |
| 46 | Giulio Ciccone | Lidl-Trek | s.t. |
| 47 | Rudy Molard | Groupama-FDJ | s.t. |
| 48 | Mario Aparicio | Burgos Burpellet BH | s.t. |
| 49 | Dion Smith | Intermarché-Wanty | s.t. |
| 50 | Louis Vervaeke | Soudal Quick-Step | s.t. |
| 51 | Egan Bernal | INEOS Grenadiers | 21:45 |
| 52 | Tim van Dijke | Red Bull-BORA-hansgrohe | 23:00 |
| 53 | Jesus Herrada | Cofidis | 23:46 |
| 54 | Victor Campenaerts | Team Visma | Lease a Bike | 24:10 |
| 55 | Nico Denz | Red Bull-BORA-hansgrohe | 24:16 |
| 56 | Jordan Labrosse | Decathlon AG2R La Mondiale | s.t. |
| 57 | Jonas Rickaert | Alpecin-Deceuninck | 25:56 |
| 58 | José Luis Faura | Burgos Burpellet BH | s.t. |
| 59 | Chris Hamilton | Team Picnic PostNL | s.t. |
| 60 | Jonas Gregaard | Lotto | s.t. |
| 61 | Liam Slock | Lotto | s.t. |
| 62 | Emanuel Buchmann | Cofidis | s.t. |
| 63 | Roman Ermakov | Bahrain Victorious | s.t. |
| 64 | Ben Zwiehoff | Red Bull-BORA-hansgrohe | s.t. |
| 65 | Simone Petilli | Intermarché-Wanty | s.t. |
| 66 | Christopher Juul-Jensen | Team Jayco-AlUla | s.t. |
| 67 | Kamiel Bonneu | Intermarché-Wanty | s.t. |
| 68 | Sander De Pestel | Decathlon AG2R La Mondiale | s.t. |
| 69 | Max Schachmann | Soudal Quick-Step | s.t. |
| 70 | Wilco Kelderman | Team Visma | Lease a Bike | s.t. |
| 71 | Marco Frigo | Israel-Premier Tech | s.t. |
| 72 | Callum Scotson | Decathlon AG2R La Mondiale | s.t. |
| 73 | Eduardo Sepulveda | Lotto | s.t. |
| 74 | Jakub Otruba | Caja Rural-Seguros RGA | s.t. |
| 75 | Nicolò Buratti | Bahrain Victorious | 26:53 |
| 76 | Bob Jungels | INEOS Grenadiers | 26:55 |
| 77 | Alec Segaert | Lotto | 27:12 |
| 78 | Mikkel Bjerg | UAE Team Emirates-XRG | 27:29 |
| 79 | Iván García Cortina | Movistar Team | s.t. |
| 80 | Markel Beloki | EF Education-EasyPost | 28:38 |
| 81 | Xabier Azparren | Q36.5 Pro Cycling Team | s.t. |
| 82 | Gal Glivar | Alpecin-Deceuninck | s.t. |
| 83 | Michel Hessmann | Movistar Team | s.t. |
| 84 | Tobias Bayer | Alpecin-Deceuninck | s.t. |
| 85 | Nans Peters | Decathlon AG2R La Mondiale | s.t. |
| 86 | Clément Braz Afonso | Groupama-FDJ | s.t. |
| 87 | Wout Poels | XDS Astana Team | s.t. |
| 88 | Javier Romo | Movistar Team | s.t. |
| 89 | Mikel Landa | Soudal Quick-Step | s.t. |
| 90 | Lorenzo Fortunato | XDS Astana Team | s.t. |
| 91 | Patrick Gamper | Team Jayco-AlUla | s.t. |
| 92 | Giovanni Aleotti | Red Bull-BORA-hansgrohe | s.t. |
| 93 | Nicola Conci | XDS Astana Team | s.t. |
| 94 | Magnus Sheffield | INEOS Grenadiers | s.t. |
| 95 | Ben Turner | INEOS Grenadiers | s.t. |
| 96 | Lukas Nerurkar | EF Education-EasyPost | s.t. |
| 97 | Pier-André Côté | Israel-Premier Tech | s.t. |
| 98 | Nadav Raisberg | Israel-Premier Tech | s.t. |
| 99 | Victor Guernalec | Arkea-B&B Hotels | s.t. |
| 100 | Luca Van Boven | Intermarché-Wanty | s.t. |
| 101 | Arne Marit | Intermarché-Wanty | s.t. |
| 102 | Victor Langellotti | INEOS Grenadiers | s.t. |
| 103 | Jasper Philipsen | Alpecin-Deceuninck | s.t. |
| 104 | Stefan Küng | Groupama-FDJ | s.t. |
| 105 | Mauri Vansevenant | Soudal Quick-Step | s.t. |
| 106 | Alessandro Verre | Arkea-B&B Hotels | s.t. |
| 107 | Nickolas Zukowsky | Q36.5 Pro Cycling Team | s.t. |
| 108 | Louis Rouland | Arkea-B&B Hotels | s.t. |
| 109 | Juan Ayuso | UAE Team Emirates-XRG | s.t. |
| 110 | Dries De Pooter | Intermarché-Wanty | s.t. |
| 111 | Brieuc Rolland | Groupama-FDJ | s.t. |
| 112 | Thibaud Gruel | Groupama-FDJ | s.t. |
| 113 | Orluis Aular | Movistar Team | s.t. |
| 114 | Thomas Silva | Caja Rural-Seguros RGA | s.t. |
| 115 | Carlos Canal | Movistar Team | s.t. |
| 116 | Marcel Camprubí | Q36.5 Pro Cycling Team | s.t. |
| 117 | Martin López | XDS Astana Team | s.t. |
| 118 | Edward Planckaert | Alpecin-Deceuninck | 29:09 |
| 119 | Madis Mihkels | EF Education-EasyPost | 29:25 |
| 120 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | s.t. |
| 121 | Sean Quinn | EF Education-EasyPost | 29:28 |
| 122 | Fabio Christen | Q36.5 Pro Cycling Team | 29:31 |
| 123 | Bryan Coquard | Cofidis | 30:50 |
| 124 | Brandon Rivera | INEOS Grenadiers | 30:57 |
| 125 | Antonio Tiberi | Bahrain Victorious | 30:59 |
| 126 | Amanuel Ghebreigzabhier | Lidl-Trek | s.t. |
| 127 | David Gaudu | Groupama-FDJ | s.t. |
| 128 | Daan Hoole | Lidl-Trek | s.t. |
| 129 | Jenthe Biermans | Arkea-B&B Hotels | s.t. |
| 130 | Juan Martinez | Team Picnic PostNL | s.t. |
| 131 | David de la Cruz | Q36.5 Pro Cycling Team | s.t. |
| 132 | Anders Foldager | Team Jayco-AlUla | s.t. |
| 133 | Timo Roosen | Team Picnic PostNL | s.t. |
| 134 | Léandre Lozouet | Arkea-B&B Hotels | s.t. |
| 135 | Jasper De Buyst | Lotto | s.t. |
| 136 | Joel Nicolau | Caja Rural-Seguros RGA | s.t. |
| 137 | Alex Molenaar | Caja Rural-Seguros RGA | s.t. |
| 138 | Remi Cavagna | Groupama-FDJ | s.t. |
| 139 | Elia Viviani | Lotto | s.t. |
| 140 | Stanislaw Aniolkowski | Cofidis | s.t. |
| 141 | Michal Kwiatkowski | INEOS Grenadiers | s.t. |
| 142 | Matteo Sobrero | Red Bull-BORA-hansgrohe | s.t. |
| 143 | Filippo Ganna | INEOS Grenadiers | s.t. |
| 144 | Kelland O'Brien | Team Jayco-AlUla | s.t. |
| 145 | Mads Pedersen | Lidl-Trek | 31:34 |
| 146 | Søren Kragh Andersen | Lidl-Trek | s.t. |
| 147 | Jake Stewart | Israel-Premier Tech | s.t. |
| 148 | Ethan Vernon | Israel-Premier Tech | s.t. |
| 149 | Bjoern Koerdt | Team Picnic PostNL | s.t. |
| 150 | Nicolas Vinokurov | XDS Astana Team | 31:42 |
| 151 | Huub Artz | Intermarché-Wanty | s.t. |
| 152 | Dylan van Baarle | Team Visma | Lease a Bike | 32:01 |
| 153 | Domen Novak | UAE Team Emirates-XRG | 32:07 |
| 154 | Oscar Riesebeek | Alpecin-Deceuninck | s.t. |
| 155 | Ivo Oliveira | UAE Team Emirates-XRG | 32:27 |
| 156 | Patrick Eddy | Team Picnic PostNL | 32:34 |
| 157 | Sergio Chumil | Burgos Burpellet BH | 35:25 |
GC after stage 14:
2,237.1 kilometers raced so far at an average speed of 41.948 km/hr
| 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 |
| 11 | Harold Tejada | XDS Astana Team | 11:48 |
| 12 | Bruno Armirail | Decathlon AG2R La Mondiale | 16:18 |
| 13 | Junior Lecerf | Soudal Quick-Step | 18:57 |
| 14 | Abel Balderstone | Caja Rural-Seguros RGA | 19:26 |
| 15 | Jaume Guardeño | Caja Rural-Seguros RGA | 22:15 |
| 16 | Giulio Ciccone | Lidl-Trek | 25:29 |
| 17 | Louis Meintjes | Intermarché-Wanty | 26:36 |
| 18 | Egan Bernal | INEOS Grenadiers | 29:13 |
| 19 | Marc Soler | UAE Team Emirates-XRG | 33:22 |
| 20 | Santiago Buitrago | Bahrain Victorious | 42:23 |
| 21 | Martin López | XDS Astana Team | 44:15 |
| 22 | Ben Tulett | Team Visma | Lease a Bike | 45:10 |
| 23 | Gianmarco Garofoli | Soudal Quick-Step | 47:01 |
| 24 | Rudy Molard | Groupama-FDJ | 48:59 |
| 25 | Kevin Vermaerke | Team Picnic PostNL | 52:53 |
| 26 | Jefferson Cepeda | Movistar Team | 56:22 |
| 27 | Felix Grossschartner | UAE Team Emirates-XRG | 57:57 |
| 28 | Edward Dunbar | Team Jayco-AlUla | 59:02 |
| 29 | Damien Howson | Q36.5 Pro Cycling Team | 1:03:41 |
| 30 | Mikel Landa | Soudal Quick-Step | 1:04:38 |
| 31 | Finlay Pickering | Bahrain Victorious | 1:06:23 |
| 32 | Marco Frigo | Israel-Premier Tech | 1:07:45 |
| 33 | Sergio Samitier | Cofidis | 1:07:54 |
| 34 | Lorenzo Fortunato | XDS Astana Team | 1:09:37 |
| 35 | Johannes Staune-Mittet | Decathlon AG2R La Mondiale | 1:11:57 |
| 36 | Jay Vine | UAE Team Emirates-XRG | 1:17:58 |
| 37 | Wout Poels | XDS Astana Team | 1:18:01 |
| 38 | Brieuc Rolland | Groupama-FDJ | 1:19:38 |
| 39 | Victor Campenaerts | Team Visma | Lease a Bike | 1:23:40 |
| 40 | Andrea Bagioli | Lidl-Trek | 1:23:41 |
| 41 | Callum Scotson | Decathlon AG2R La Mondiale | 1:25:34 |
| 42 | Fausto Masnada | XDS Astana Team | 1:27:16 |
| 43 | Louis Vervaeke | Soudal Quick-Step | 1:28:06 |
| 44 | Julien Bernard | Lidl-Trek | 1:28:52 |
| 45 | Carlos Verona | Lidl-Trek | 1:30:21 |
| 46 | Javier Romo | Movistar Team | 1:30:23 |
| 47 | Jan Hirt | Israel-Premier Tech | 1:31:22 |
| 48 | Markel Beloki | EF Education-EasyPost | 1:31:59 |
| 49 | Ben Zwiehoff | Red Bull-BORA-hansgrohe | 1:33:56 |
| 50 | Antonio Tiberi | Bahrain Victorious | 1:34:44 |
| 51 | Bob Jungels | INEOS Grenadiers | 1:37:07 |
| 52 | Victor Langellotti | INEOS Grenadiers | 1:38:32 |
| 53 | Pierre Thierry | Arkea-B&B Hotels | 1:39:27 |
| 54 | Clément Braz Afonso | Groupama-FDJ | 1:39:29 |
| 55 | Juan Martinez | Team Picnic PostNL | 1:42:51 |
| 56 | Brandon Rivera | INEOS Grenadiers | 1:44:25 |
| 57 | Lars Craps | Lotto | 1:44:29 |
| 58 | James Shaw | EF Education-EasyPost | 1:47:15 |
| 59 | Léo Bisiaux | Decathlon AG2R La Mondiale | 1:50:04 |
| 60 | Juan Ayuso | UAE Team Emirates-XRG | 1:50:16 |
| 61 | Thomas Silva | Caja Rural-Seguros RGA | 1:50:45 |
| 62 | José Luis Faura | Burgos Burpellet BH | 1:51:25 |
| 63 | Chris Hamilton | Team Picnic PostNL | 1:52:19 |
| 64 | Carlos Canal | Movistar Team | 1:53:02 |
| 65 | Sander De Pestel | Decathlon AG2R La Mondiale | 1:53:29 |
| 66 | Magnus Sheffield | INEOS Grenadiers | 1:54:25 |
| 67 | Gijs Leemreize | Team Picnic PostNL | 1:54:38 |
| 68 | Sergio Chumil | Burgos Burpellet BH | 1:55:41 |
| 69 | Giovanni Aleotti | Red Bull-BORA-hansgrohe | 1:58:02 |
| 70 | Hugo de la Calle | Burgos Burpellet BH | 1:59:12 |
| 71 | Mauri Vansevenant | Soudal Quick-Step | 2:00:11 |
| 72 | Wilco Kelderman | Team Visma | Lease a Bike | 2:00:17 |
| 73 | Michel Hessmann | Movistar Team | 2:00:36 |
| 74 | Max Schachmann | Soudal Quick-Step | 2:00:45 |
| 75 | Jack Haig | Bahrain Victorious | 2:03:25 |
| 76 | Eduardo Sepulveda | Lotto | 2:03:47 |
| 77 | Stefan Küng | Groupama-FDJ | 2:04:15 |
| 78 | Michal Kwiatkowski | INEOS Grenadiers | 2:04:31 |
| 79 | Nicola Conci | XDS Astana Team | 2:05:42 |
| 80 | David González | Q36.5 Pro Cycling Team | 2:07:30 |
| 81 | Finn Fisher-Black | Red Bull-BORA-hansgrohe | 2:07:31 |
| 82 | Jesus Herrada | Cofidis | 2:07:33 |
| 83 | Alex Molenaar | Caja Rural-Seguros RGA | 2:08:12 |
| 84 | Sean Quinn | EF Education-EasyPost | 2:09:17 |
| 85 | Roman Ermakov | Bahrain Victorious | 2:10:48 |
| 86 | Bjoern Koerdt | Team Picnic PostNL | 2:11:49 |
| 87 | Nans Peters | Decathlon AG2R La Mondiale | 2:16:40 |
| 88 | Jordan Labrosse | Decathlon AG2R La Mondiale | 2:17:07 |
| 89 | David Gaudu | Groupama-FDJ | 2:17:49 |
| 90 | David de la Cruz | Q36.5 Pro Cycling Team | 2:19:21 |
| 91 | Joan Bou | Caja Rural-Seguros RGA | 2:19:38 |
| 92 | Jardi Van Der Lee | EF Education-EasyPost | 2:20:36 |
| 93 | Mathijs Paasschens | Bahrain Victorious | 2:21:43 |
| 94 | Gal Glivar | Alpecin-Deceuninck | 2:24:09 |
| 95 | Emanuel Buchmann | Cofidis | 2:24:26 |
| 96 | Alec Segaert | Lotto | 2:25:10 |
| 97 | Jonas Gregaard | Lotto | 2:25:35 |
| 98 | Jakub Otruba | Caja Rural-Seguros RGA | 2:26:13 |
| 99 | Nico Denz | Red Bull-BORA-hansgrohe | 2:26:24 |
| 100 | Thibaud Gruel | Groupama-FDJ | 2:27:24 |
| 101 | Iván García Cortina | Movistar Team | 2:27:35 |
| 102 | Nicolas Vinokurov | XDS Astana Team | 2:28:58 |
| 103 | Orluis Aular | Movistar Team | 2:29:42 |
| 104 | Simone Petilli | Intermarché-Wanty | s.t. |
| 105 | Jonas Rickaert | Alpecin-Deceuninck | 2:30:23 |
| 106 | Patrick Gamper | Team Jayco-AlUla | 2:31:12 |
| 107 | Lukas Nerurkar | EF Education-EasyPost | 2:36:45 |
| 108 | Pier-André Côté | Israel-Premier Tech | 2:36:49 |
| 109 | Luca Van Boven | Intermarché-Wanty | 2:37:19 |
| 110 | Kelland O'Brien | Team Jayco-AlUla | 2:38:05 |
| 111 | Marcel Camprubí | Q36.5 Pro Cycling Team | 2:38:16 |
| 112 | Nicolò Buratti | Bahrain Victorious | 2:39:12 |
| 113 | Louis Rouland | Arkea-B&B Hotels | 2:40:50 |
| 114 | Joel Nicolau | Caja Rural-Seguros RGA | 2:41:27 |
| 115 | Christopher Juul-Jensen | Team Jayco-AlUla | 2:41:28 |
| 116 | Léandre Lozouet | Arkea-B&B Hotels | 2:42:05 |
| 117 | Remi Cavagna | Groupama-FDJ | 2:42:35 |
| 118 | Kamiel Bonneu | Intermarché-Wanty | 2:43:08 |
| 119 | Mario Aparicio | Burgos Burpellet BH | 2:44:14 |
| 120 | Ivo Oliveira | UAE Team Emirates-XRG | 2:44:51 |
| 121 | Huub Artz | Intermarché-Wanty | 2:45:35 |
| 122 | Nickolas Zukowsky | Q36.5 Pro Cycling Team | 2:46:12 |
| 123 | Dion Smith | Intermarché-Wanty | 2:47:15 |
| 124 | Mads Pedersen | Lidl-Trek | 2:48:28 |
| 125 | Matteo Sobrero | Red Bull-BORA-hansgrohe | 2:48:44 |
| 126 | Madis Mihkels | EF Education-EasyPost | 2:49:27 |
| 127 | Amanuel Ghebreigzabhier | Lidl-Trek | 2:49:35 |
| 128 | Victor Guernalec | Arkea-B&B Hotels | 2:53:15 |
| 129 | Tobias Bayer | Alpecin-Deceuninck | 2:54:08 |
| 130 | Fabio Christen | Q36.5 Pro Cycling Team | 2:54:15 |
| 131 | Edward Planckaert | Alpecin-Deceuninck | 2:55:38 |
| 132 | Dylan van Baarle | Team Visma | Lease a Bike | 2:57:21 |
| 133 | Liam Slock | Lotto | 2:58:04 |
| 134 | Ben Turner | INEOS Grenadiers | 2:58:14 |
| 135 | Dries De Pooter | Intermarché-Wanty | 2:58:57 |
| 136 | Bryan Coquard | Cofidis | 2:59:07 |
| 137 | Filippo Ganna | INEOS Grenadiers | 2:59:42 |
| 138 | Jasper De Buyst | Lotto | 3:03:05 |
| 139 | Mikkel Bjerg | UAE Team Emirates-XRG | 3:05:22 |
| 140 | Tim van Dijke | Red Bull-BORA-hansgrohe | 3:10:08 |
| 141 | Xabier Azparren | Q36.5 Pro Cycling Team | 3:10:40 |
| 142 | Alessandro Verre | Arkea-B&B Hotels | 3:11:42 |
| 143 | Jake Stewart | Israel-Premier Tech | 3:14:20 |
| 144 | Timo Roosen | Team Picnic PostNL | 3:15:49 |
| 145 | Ethan Vernon | Israel-Premier Tech | 3:16:43 |
| 146 | Arne Marit | Intermarché-Wanty | 3:17:15 |
| 147 | Søren Kragh Andersen | Lidl-Trek | 3:18:27 |
| 148 | Anders Foldager | Team Jayco-AlUla | 3:19:38 |
| 149 | Domen Novak | UAE Team Emirates-XRG | 3:19:53 |
| 150 | Jasper Philipsen | Alpecin-Deceuninck | 3:21:01 |
| 151 | Jenthe Biermans | Arkea-B&B Hotels | 3:21:29 |
| 152 | Nadav Raisberg | Israel-Premier Tech | 3:22:26 |
| 153 | Elia Viviani | Lotto | 3:25:47 |
| 154 | Daan Hoole | Lidl-Trek | 3:26:08 |
| 155 | Stanislaw Aniolkowski | Cofidis | 3:36:13 |
| 156 | Patrick Eddy | Team Picnic PostNL | 3:37:00 |
| 157 | Oscar Riesebeek | Alpecin-Deceuninck | 3:47:53 |
Stage 14 map & profile:

Stage 14 map

Stage 14 profile
Stage 14 photos by Fotoreporter Sirotti:

Another tough day in the mountains.

The peloton on the Farrapona climb at the end of the stage.

Looking down on the peloton climbing the narrow road. Notice the spectators all rode their bikes to get there.

Riders getting up the mountain.

Mads Pedersen & Soren Kragh Andersen on the final climb.

Stage winner Marc Soler is alone and off the front.

Joao Almeida leads Jonas Vingegaard

Eventual seventh place Matthew Ricitello is probably leading Sepp Kuss up the mountain.

Stage winner Marc Soler

Jonas Vingegaard remains the GC leader.