
Saturday, July 18: Stage 14, Mulhouse - Le Markstein Fellering, 155.3 km
Stage 14 map & profile | Stage 14 photos

Again, Tadej Pogacar has left the best of the rest far behind. Photo: ASO/Thomas Maheux
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 town of Fellering at 2:30 PM, local time: 26C (78F), showers in the vicinity, with the wind from the west at 14 km/hr (9 mph). It was raining at the start. The rainstorms are forecast to end around 3:45 PM.
Rated ascents:
The stage: Tour boss Christian Prudhomme wrotes: The riders will get straight to the heart of the matter when they leave Mulhouse and climb the Grand Ballon, soon after which they’ll pass through the finish line for the first time. This, though, is only the beginning of the festival of climbing that lies ahead. Hidden on the long loop that follows is one of the explosive points of the 2026 route: the ascent of the Haag, a forest trail that’s been converted into a bike path. It winds upwards for 11.2 kilometres at an average of 7.3%, with some steep pitches thrown in. From the summit, just six kilometres remain to Le Markstein.
Le Markstein is a winter sports station just north of the town of Fellering.
Believe it or not, we’ve already covered more than two-thirds of the Tour de France 2026. At km 1.7 of stage 14, there will be just 1,000 kilometers left in this 113th edition of the Grande Boucle.
The race: Ramses Debruybe (Alpecin-Premier Tech) developed a sore throat and fever overnight and did not start.
Here's the race organizer's stage 14 summary:
The second Tour de France stage finish at Le Markstein, three years after the previous one, crowned the same winner: Tadej Pogacar. This second success reads very differently from the previous: at the time, the Slovenian star bounced back to a consolation victory as he suffered the dominance of Jonas Vingegaard in the overall standings.
Three years later, the UAE Emirates XRG leader shone at his brightest, the Maillot Jaune on his back, as he powered to a fourth victory this year, alone at the front. Across his seven participations, he now has 25 stage wins, the same total as André Leducq. Only three riders remain ahead: Mark Cavendish (35), Eddy Merckx (34), and Bernard Hinault (28). Second on the day, Isaac del Toro achieved another 1-2 for UAE Emirates XRG. Paul Seixas (Decathlon CMA CGM) completed the day’s top 3 and climbed one spot in the overall standings, surpassing Juan Ayuso (Lidl-Trek) and taking the white jersey as the leader of the young riders’ classification.
The race:
The first contact with the Vosges was focused on the ascent and descent of Ballon d’Alsace, en route to Belfort, where attackers prevailed on Friday. Stage 14 is a proper rollercoaster with four major climbs and an elevation gain of 3,800 metres packed in 155.3 km of racing between Mulhouse and Le Markstein Fellering.
Healy shapes the break
Before the climbing festival, Alpecin-Premier Tech control the early part of the stage to ensure maximum points for Jasper Philipsen at the intermediate sprint (Wattwiller, km 12.6). Soon after the line, the peloton reach the bottom of the Grand Ballon (cat. 1, summit at km 36.6) and a fierce battle for the breakaway develops.
Ben Healy (EF Education-EasyPost) attacks early on the ascent and proves a driving force to make the break. Around 30 riders join him at the front, including his teammates Richard Carapaz, Alex Baudin, and Georg Steinhauser. Tom Pidcock (Pinarello Q36.5) is back on the move the day after his breakaway to Belfort that saw him move to the fourth place in the overall standings. As for Visma-Lease a Bike, they’ve sent Matteo Jorgenson, Bruno Armirail and Victor Campenaerts up the road.

Valentin Paret-Peintre is first over the Cat. 1 Grand Ballon, followed by Richard Carapaz. On the descent of the Grand Ballon a group of five came together: Richard Carapaz, Ben Healy, Valentin Paret-Peintre, Tobias Halland Johannessen & Anders Halland Johannessen. With 100 km to go the quintet had a gap of 30sec over the first chase group and 1min 55 over the peloton. Later Einer Rubio bridged up to the break and Ben Healy was dropped.
Paret-Peintre conquers KOMs
Valentin Paret-Peintre (Soudal Quick-Step) conquers the first summit of the day ahead of Richard Carapaz. The duo keep going on the downhill. They’re joined at the front by Healy and the Johannessen twins, Tobias and Anders. Propelled by his teammate Pablo Castrillo, Einer Rubio makes it a 6-man lead group on the second ascent of the day, Col du Page (cat. 2, km 71.3). Thymen Arensman (Netcompany Ineos) was chasing with them but he lost his position due to a mechanical.
Paret-Peintre crests the summit first again. The gap to the bunch hits a maximum of 3’10’’ on the following descent. Meanwhile, Armirail and Campenaerts give it their all to try and keep the chase group ahead of the peloton.
Onto the Ballon d’Alsace, Paret-Peintre complets a hat-trick of KOMs and takes the lead of the mountain standings with a tally of 43 points, one more than Pogacar. Carapaz is up to 38 points. At the summit, the chasers trail by 1’50’’ and the peloton by 2 minutes. They get back together on the downhill.
Seixas in the wake of Pogacar and Del Toro
At the front, Healy empties his tank to give Carapaz the best chances of battling for the stage win. Anders Johannessen does the same for his brother. But the gap is down to minute and a half at the bottom of the final climb, Col du Haag (cat. 1, km 149.4).

16 km to go. From the break Tobias Johannessen & Richard Carapaz take off. The Yellow Jersey group is 1min 3sec back. Carapaz soon dropped Johannessen. But, with 9 km to go the gap between Carapaz & Johannessen was just 12 seconds & the Pogacar group was 37sec behind.
Johannessen and Carapaz rapidly distance their rivals while Decathlon CMA CGM up the ante in the GC group. The Ecuadorian climber goes solo with just under 9 kilometres remaining on the ascent. Johannessen doesn’t give up and gets back to him 3 kilometres from the summit. But behind them, Vingegaard accelerates and eventually closes the gap 2.5 km from the summit.

Bam! With 7.4 km to go (and 2 kms from the summit) Tadej Pogacar attacks and goes solo to win the stage.
Less than a kilometre later, the gradient reaches 16% and Tadej Pogacar (UAE Emirates XRG) dances on the pedals. Vingegaard tries to react. Seixas gets back to him at the summit. And Del Toro closes the gap on the false flat leading to the finish. While Pogacar powers to his 25th stage win in the Tour, Del Toro takes second ahead of Seixas, who gains 16 seconds on Ayuso. The French star takes the white jersey, his first distinction in the Tour.
Complete results:
155.3 kilometers raced at an average speed of 38.806 km/hr
| 1 | Tadej Pogacar | UAE Team Emirates-XRG | 4hr 0min 7sec |
| 2 | Isaac del Toro | UAE Team Emirates-XRG | @ 38sec |
| 3 | Paul Seixas | Decathlon CMA CGM Team | s.t. |
| 4 | Jonas Vingegaard | Team Visma | Lease a Bike | 0:44 |
| 5 | Remco Evenepoel | Red Bull-BORA-hansgrohe | 0:48 |
| 6 | Juan Ayuso | Lidl-Trek | 0:50 |
| 7 | Florian Lipowitz | Red Bull-BORA-hansgrohe | s.t. |
| 8 | Richard Carapaz | EF Education-EasyPost | 1:18 |
| 9 | Tobias Halland Johannessen | Uno-X Mobility | 1:40 |
| 10 | Mattias Skjelmose | Lidl-Trek | s.t. |
| 11 | Lenny Martinez | Bahrain Victorious | 1:41 |
| 12 | Ilan Van Wilder | Soudal Quick-Step | 3:30 |
| 13 | Yannis Voisard | Tudor Pro Cycling Team | s.t. |
| 14 | Egan Bernal | Netcompany INEOS Cycling Team | s.t. |
| 15 | Derek Gee-West | Lidl-Trek | s.t. |
| 16 | Adam Yates | UAE Team Emirates-XRG | s.t. |
| 17 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 18 | Tom Pidcock | Pinarello-Q36.5 Pro Cycling Team | 3:34 |
| 19 | Jordan Jegat | Team TotalEnergies | 5:27 |
| 20 | Davide Piganzoli | Team Visma | Lease a Bike | s.t. |
| 21 | Einer Rubio | Movistar Team | s.t. |
| 22 | Nicolas Prodhomme | Decathlon CMA CGM Team | 9:51 |
| 23 | Jai Hindley | Red Bull-BORA-hansgrohe | 10:15 |
| 24 | Quinn Simmons | Lidl-Trek | 11:47 |
| 25 | Valentin Paret-Peintre | Soudal Quick-Step | 12:01 |
| 26 | Ben O'Connor | Team Jayco-AlUla | 13:05 |
| 27 | Matthew Riccitello | Decathlon CMA CGM Team | s.t. |
| 28 | Mauro Schmid | Team Jayco-AlUla | s.t. |
| 29 | Tiesj Benoot | Decathlon CMA CGM Team | s.t. |
| 30 | Maxim Van Gils | Red Bull-BORA-hansgrohe | 17:05 |
| 31 | Brandon McNulty | UAE Team Emirates-XRG | 17:07 |
| 32 | Mattia Cattaneo | Red Bull-BORA-hansgrohe | 17:34 |
| 33 | Carlos Verona | Lidl-Trek | s.t. |
| 34 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 35 | Tobias Foss | Netcompany INEOS Cycling Team | s.t. |
| 36 | Xandro Meurisse | Pinarello-Q36.5 Pro Cycling Team | 18:53 |
| 37 | Felix Grossschartner | UAE Team Emirates-XRG | 19:46 |
| 38 | Anders Halland Johannessen | Uno-X Mobility | 20:06 |
| 39 | Ben Healy | EF Education-EasyPost | 21:13 |
| 40 | Thymen Arensman | Netcompany INEOS Cycling Team | 21:13 |
| 41 | Lennert Van Eetvelt | Lotto-Intermarché | 23:21 |
| 42 | Bruno Armirail | Team Visma | Lease a Bike | s.t. |
| 43 | Aurélien Paret-Peintre | Decathlon CMA CGM Team | s.t. |
| 44 | Louis Vervaeke | Soudal Quick-Step | s.t. |
| 45 | Tim Wellens | UAE Team Emirates-XRG | 23:49 |
| 46 | Alexandre Delettre | Team TotalEnergies | s.t. |
| 47 | Antonio Tiberi | Bahrain Victorious | 26:29 |
| 48 | Damiano Caruso | Bahrain Victorious | s.t. |
| 49 | Jan Tratnik | Red Bull-BORA-hansgrohe | s.t. |
| 50 | Michael Storer | Tudor Pro Cycling Team | s.t. |
| 51 | Marc Hirschi | Tudor Pro Cycling Team | s.t. |
| 52 | Michael Valgren | EF Education-EasyPost | s.t. |
| 53 | Sean Quinn | EF Education-EasyPost | s.t. |
| 54 | Anders Skaarseth | Uno-X Mobility | s.t. |
| 55 | Sergio Higuita | XDS Astana Team | s.t. |
| 56 | Kévin Vauquelin | Netcompany INEOS Cycling Team | s.t. |
| 57 | Quinten Hermans | Pinarello-Q36.5 Pro Cycling Team | 27:38 |
| 58 | Jonas Abrahamsen | Uno-X Mobility | 29:24 |
| 59 | Quentin Pacher | Groupama-FDJ United | s.t. |
| 60 | Felix Engelhardt | Team Jayco-AlUla | s.t. |
| 61 | Georg Steinhauser | EF Education-EasyPost | s.t. |
| 62 | Raúl García | Movistar Team | s.t. |
| 63 | Javier Romo | Movistar Team | s.t. |
| 64 | Guillaume Martin-Guyonnet | Groupama-FDJ United | s.t. |
| 65 | Emiel Verstrynge | Alpecin-Premier Tech | s.t. |
| 66 | Romain Grégoire | Groupama-FDJ United | s.t. |
| 67 | Clément Braz Afonso | Groupama-FDJ United | s.t. |
| 68 | Lars Craps | Lotto-Intermarché | 30:36 |
| 69 | Vlad Van Mechelen | Bahrain Victorious | s.t. |
| 70 | Michael Matthews | Team Jayco-AlUla | 31:15 |
| 71 | Clément Russo | Groupama-FDJ United | s.t. |
| 72 | Nils Politt | UAE Team Emirates-XRG | 31:18 |
| 73 | Brent Van Moer | Pinarello-Q36.5 Pro Cycling Team | 32:38 |
| 74 | Jasper Stuyven | Soudal Quick-Step | s.t. |
| 75 | Liam Slock | Lotto-Intermarché | s.t. |
| 76 | Sebastian Berwick | Caja Rural-Seguros RGA | s.t. |
| 77 | Matej Mohoric | Bahrain Victorious | 34:03 |
| 78 | Simone Velasco | XDS Astana Team | s.t. |
| 79 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 34:37 |
| 80 | Damien Howson | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 81 | Abel Balderstone | Caja Rural-Seguros RGA | s.t. |
| 82 | Marco Frigo | NSN Cycling Team | s.t. |
| 83 | Thibault Guernalec | Team TotalEnergies | s.t. |
| 84 | Robert Stannard | Bahrain Victorious | s.t. |
| 85 | Nico Denz | Red Bull-BORA-hansgrohe | s.t. |
| 86 | Michal Kwiatkowski | Netcompany INEOS Cycling Team | s.t. |
| 87 | Alex Aranburu | Cofidis | s.t. |
| 88 | Filippo Ganna | Netcompany INEOS Cycling Team | s.t. |
| 89 | Nelson Oliveira | Movistar Team | s.t. |
| 90 | Victor Campenaerts | Team Visma | Lease a Bike | s.t. |
| 91 | Kasper Asgreen | EF Education-EasyPost | s.t. |
| 92 | Alex Baudin | EF Education-EasyPost | s.t. |
| 93 | Max Walker | EF Education-EasyPost | s.t. |
| 94 | Ion Izagirre | Cofidis | s.t. |
| 95 | Dylan van Baarle | Soudal Quick-Step | s.t. |
| 96 | Luke Plapp | Team Jayco-AlUla | s.t. |
| 97 | Nicolas Vinokurov | XDS Astana Team | 35:23 |
| 98 | Toms Skujins | Lidl-Trek | s.t. |
| 99 | Fred Wright | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 100 | Mathias Vacek | Lidl-Trek | s.t. |
| 101 | Julian Alaphilippe | Tudor Pro Cycling Team | 35:25 |
| 102 | Mads Pedersen | Lidl-Trek | 35:27 |
| 103 | Tim van Dijke | Red Bull-BORA-hansgrohe | 35:30 |
| 104 | Marco Haller | Tudor Pro Cycling Team | 35:43 |
| 105 | Edoardo Affini | Team Visma | Lease a Bike | s.t. |
| 106 | Tim Marsman | Alpecin-Premier Tech | s.t. |
| 107 | Pavel Bittner | Team Picnic PostNL | s.t. |
| 108 | Lorenzo Germani | Groupama-FDJ United | s.t. |
| 109 | Michel Hessmann | Movistar Team | s.t. |
| 110 | Georg Zimmermann | Lotto-Intermarché | s.t. |
| 111 | Mathis Le Berre | Team TotalEnergies | s.t. |
| 112 | Rick Pluimers | Tudor Pro Cycling Team | s.t. |
| 113 | Per Strand Hagenes | Team Visma | Lease a Bike | s.t. |
| 114 | Nicolas Breuillard | Team TotalEnergies | s.t. |
| 115 | Aaron Gate | XDS Astana Team | s.t. |
| 116 | Robbe Dhondt | Team Picnic PostNL | s.t. |
| 117 | José Félix Parra | Caja Rural-Seguros RGA | s.t. |
| 118 | Mathieu van der Poel | Alpecin-Premier Tech | s.t. |
| 119 | Niklas Märkl | Team Picnic PostNL | s.t. |
| 120 | Frank van den Broek | Team Picnic PostNL | s.t. |
| 121 | Pablo Castrillo | Movistar Team | s.t. |
| 122 | Jefferson Cepeda | Movistar Team | s.t. |
| 123 | Florian Vermeersch | UAE Team Emirates-XRG | s.t. |
| 124 | Luke Durbridge | Team Jayco-AlUla | s.t. |
| 125 | Jonas Rickaert | Alpecin-Premier Tech | s.t. |
| 126 | Warren Barguil | Team Picnic PostNL | s.t. |
| 127 | Joshua Tarling | Netcompany INEOS Cycling Team | 36:49 |
| 128 | Baptiste Veistroffer | Lotto-Intermarché | s.t. |
| 129 | Pascal Ackermann | Team Jayco-AlUla | 36:53 |
| 130 | Max Kanter | XDS Astana Team | 36:56 |
| 131 | Davide Ballerini | XDS Astana Team | s.t. |
| 132 | Harold Tejada | XDS Astana Team | s.t. |
| 133 | Joel Nicolau | Caja Rural-Seguros RGA | 37:02 |
| 134 | Stefano Oldani | Caja Rural-Seguros RGA | s.t. |
| 135 | Dorian Godon | Netcompany INEOS Cycling Team | s.t. |
| 136 | Huub Artz | Lotto-Intermarché | s.t. |
| 137 | Phil Bauhaus | Bahrain Victorious | s.t. |
| 138 | Julius van den Berg | Team Picnic PostNL | s.t. |
| 139 | John Degenkolb | Team Picnic PostNL | s.t. |
| 140 | Magnus Cort | Uno-X Mobility | s.t. |
| 141 | Mike Teunissen | XDS Astana Team | s.t. |
| 142 | Pascal Eenkhoorn | Soudal Quick-Step | s.t. |
| 143 | Jasper Philipsen | Alpecin-Premier Tech | s.t. |
| 144 | Krists Neilands | NSN Cycling Team | s.t. |
| 145 | Silvan Dillier | Alpecin-Premier Tech | s.t. |
| 146 | Matis Louvel | NSN Cycling Team | 37:47 |
| 147 | Jake Stewart | NSN Cycling Team | s.t. |
| 148 | Anthony Turgis | Team TotalEnergies | 37:51 |
| 149 | Søren Wærenskjold | Uno-X Mobility | s.t. |
| 150 | Alex Kirsch | Cofidis | s.t. |
| 151 | Kamil Gradek | Bahrain Victorious | s.t. |
| 152 | Olav Kooij | Decathlon CMA CGM Team | s.t. |
| 153 | Daan Hoole | Decathlon CMA CGM Team | s.t. |
| 154 | Tim Merlier | Soudal Quick-Step | s.t. |
| 155 | Jenthe Biermans | Cofidis | s.t. |
| 156 | Milan Fretin | Cofidis | s.t. |
| 157 | Piet Allegaert | Cofidis | s.t. |
| 158 | Edward Planckaert | Alpecin-Premier Tech | s.t. |
| 159 | Biniam Girmay | NSN Cycling Team | s.t. |
| 160 | Jakub Otruba | Caja Rural-Seguros RGA | s.t. |
| 161 | Hugo Page | Cofidis | s.t. |
| 162 | Lewis Askey | NSN Cycling Team | s.t. |
| 163 | Benjamin Thomas | Cofidis | s.t. |
| 164 | Tom Van Asbroeck | NSN Cycling Team | s.t. |
| 165 | George Bennett | NSN Cycling Team | s.t. |
| 166 | Joris Delbove | Team TotalEnergies | s.t. |
| 167 | Ewen Costiou | Groupama-FDJ United | s.t. |
| 168 | Cees Bol | Decathlon CMA CGM Team | s.t. |
| 169 | Mattéo Vercher | Team TotalEnergies | s.t. |
| OOT | Anthon Charmig | Uno-X Mobility | |
| DNS | Ramses Debruyne | Alpecin-Premier Tech |
GC after stage 14:
2,287.6 kilometers raced so far at an average speed of 44.586 km/hr
| 1 | Tadej Pogacar | UAE Team Emirates-XRG | 51hr 18min 28sec |
| 2 | Jonas Vingegaard | Team Visma | Lease a Bike | @ 4min 30sec |
| 3 | Remco Evenepoel | Red Bull-BORA-hansgrohe | 5:04 |
| 4 | Paul Seixas | Decathlon CMA CGM Team | 5:19 |
| 5 | Juan Ayuso | Lidl-Trek | 5:22 |
| 6 | Florian Lipowitz | Red Bull-BORA-hansgrohe | 5:44 |
| 7 | Isaac del Toro | UAE Team Emirates-XRG | 5:50 |
| 8 | Mattias Skjelmose | Lidl-Trek | 7:35 |
| 9 | Tom Pidcock | Pinarello-Q36.5 Pro Cycling Team | 7:59 |
| 10 | Lenny Martinez | Bahrain Victorious | 8:25 |
| 11 | Egan Bernal | Netcompany INEOS Cycling Team | 15:55 |
| 12 | Jordan Jegat | Team TotalEnergies | 16:03 |
| 13 | Ilan Van Wilder | Soudal Quick-Step | 16:23 |
| 14 | Tobias Halland Johannessen | Uno-X Mobility | 16:40 |
| 15 | Richard Carapaz | EF Education-EasyPost | 19:11 |
| 16 | Davide Piganzoli | Team Visma | Lease a Bike | 19:15 |
| 17 | Yannis Voisard | Tudor Pro Cycling Team | 19:16 |
| 18 | Adam Yates | UAE Team Emirates-XRG | 22:06 |
| 19 | Sepp Kuss | Team Visma | Lease a Bike | 24:32 |
| 20 | Brandon McNulty | UAE Team Emirates-XRG | 35:48 |
| 21 | Sean Quinn | EF Education-EasyPost | 41:47 |
| 22 | Tiesj Benoot | Decathlon CMA CGM Team | 46:32 |
| 23 | Nicolas Prodhomme | Decathlon CMA CGM Team | 52:29 |
| 24 | Jai Hindley | Red Bull-BORA-hansgrohe | 1:02:49 |
| 25 | Carlos Verona | Lidl-Trek | 1:04:37 |
| 26 | Pablo Castrillo | Movistar Team | 1:06:12 |
| 27 | Thymen Arensman | Netcompany INEOS Cycling Team | 1:11:31 |
| 28 | Lennert Van Eetvelt | Lotto-Intermarché | 1:12:04 |
| 29 | Derek Gee-West | Lidl-Trek | 1:13:07 |
| 30 | Quinn Simmons | Lidl-Trek | 1:21:08 |
| 31 | Matteo Jorgenson | Team Visma | Lease a Bike | 1:23:19 |
| 32 | Harold Tejada | XDS Astana Team | 1:23:43 |
| 33 | Kévin Vauquelin | Netcompany INEOS Cycling Team | 1:25:25 |
| 34 | Einer Rubio | Movistar Team | 1:27:08 |
| 35 | Quinten Hermans | Pinarello-Q36.5 Pro Cycling Team | 1:30:42 |
| 36 | Felix Grossschartner | UAE Team Emirates-XRG | 1:35:45 |
| 37 | Valentin Paret-Peintre | Soudal Quick-Step | 1:38:33 |
| 38 | Mathias Vacek | Lidl-Trek | 1:38:39 |
| 39 | Ben O'Connor | Team Jayco-AlUla | 1:38:56 |
| 40 | Marc Hirschi | Tudor Pro Cycling Team | 1:41:37 |
| 41 | Raúl García | Movistar Team | 1:42:52 |
| 42 | Maxim Van Gils | Red Bull-BORA-hansgrohe | 1:43:41 |
| 43 | José Félix Parra | Caja Rural-Seguros RGA | 1:43:52 |
| 44 | Ion Izagirre | Cofidis | 1:46:00 |
| 45 | Tobias Foss | Netcompany INEOS Cycling Team | 1:46:22 |
| 46 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 1:47:05 |
| 47 | Sergio Higuita | XDS Astana Team | 1:48:26 |
| 48 | Antonio Tiberi | Bahrain Victorious | 1:49:58 |
| 49 | Alex Baudin | EF Education-EasyPost | 1:50:20 |
| 50 | Matthew Riccitello | Decathlon CMA CGM Team | 1:52:53 |
| 51 | Nicolas Breuillard | Team TotalEnergies | 1:54:11 |
| 52 | Tim Wellens | UAE Team Emirates-XRG | 1:55:40 |
| 53 | Clément Braz Afonso | Groupama-FDJ United | 1:55:57 |
| 54 | Mattia Cattaneo | Red Bull-BORA-hansgrohe | 1:58:13 |
| 55 | Xandro Meurisse | Pinarello-Q36.5 Pro Cycling Team | 2:04:51 |
| 56 | Romain Grégoire | Groupama-FDJ United | 2:05:01 |
| 57 | Lars Craps | Lotto-Intermarché | 2:06:09 |
| 58 | Joris Delbove | Team TotalEnergies | 2:06:47 |
| 59 | Mauro Schmid | Team Jayco-AlUla | 2:06:48 |
| 60 | Anders Skaarseth | Uno-X Mobility | 2:07:21 |
| 61 | Abel Balderstone | Caja Rural-Seguros RGA | 2:10:45 |
| 62 | Aurélien Paret-Peintre | Decathlon CMA CGM Team | 2:12:49 |
| 63 | Michael Valgren | EF Education-EasyPost | 2:14:26 |
| 64 | Javier Romo | Movistar Team | 2:17:06 |
| 65 | Michael Matthews | Team Jayco-AlUla | 2:17:11 |
| 66 | Damiano Caruso | Bahrain Victorious | 2:20:30 |
| 67 | Alexandre Delettre | Team TotalEnergies | 2:22:24 |
| 68 | Quentin Pacher | Groupama-FDJ United | 2:24:47 |
| 69 | Ben Healy | EF Education-EasyPost | 2:26:15 |
| 70 | Anders Halland Johannessen | Uno-X Mobility | 2:26:29 |
| 71 | Alex Aranburu | Cofidis | 2:26:51 |
| 72 | Louis Vervaeke | Soudal Quick-Step | 2:29:01 |
| 73 | Mathieu van der Poel | Alpecin-Premier Tech | 2:31:47 |
| 74 | Mattéo Vercher | Team TotalEnergies | 2:32:54 |
| 75 | Jasper Stuyven | Soudal Quick-Step | 2:34:01 |
| 76 | Rick Pluimers | Tudor Pro Cycling Team | 2:34:17 |
| 77 | Vlad Van Mechelen | Bahrain Victorious | 2:34:26 |
| 78 | Luke Plapp | Team Jayco-AlUla | 2:34:34 |
| 79 | Lorenzo Germani | Groupama-FDJ United | 2:35:37 |
| 80 | Mads Pedersen | Lidl-Trek | 2:36:46 |
| 81 | Nelson Oliveira | Movistar Team | 2:37:24 |
| 82 | George Bennett | NSN Cycling Team | 2:37:41 |
| 83 | Kasper Asgreen | EF Education-EasyPost | 2:39:48 |
| 84 | Victor Campenaerts | Team Visma | Lease a Bike | 2:39:55 |
| 85 | Toms Skujins | Lidl-Trek | 2:40:39 |
| 86 | Jefferson Cepeda | Movistar Team | 2:42:17 |
| 87 | Clément Russo | Groupama-FDJ United | 2:43:28 |
| 88 | Ewen Costiou | Groupama-FDJ United | 2:43:56 |
| 89 | Georg Zimmermann | Lotto-Intermarché | 2:44:09 |
| 90 | Nils Politt | UAE Team Emirates-XRG | 2:44:25 |
| 91 | Bruno Armirail | Team Visma | Lease a Bike | 2:45:11 |
| 92 | Mathis Le Berre | Team TotalEnergies | 2:48:32 |
| 93 | Jonas Abrahamsen | Uno-X Mobility | 2:48:57 |
| 94 | Jan Tratnik | Red Bull-BORA-hansgrohe | 2:49:02 |
| 95 | Matej Mohoric | Bahrain Victorious | 2:52:49 |
| 96 | Damien Howson | Pinarello-Q36.5 Pro Cycling Team | 2:53:19 |
| 97 | Magnus Cort | Uno-X Mobility | 2:53:42 |
| 98 | Brent Van Moer | Pinarello-Q36.5 Pro Cycling Team | 2:55:34 |
| 99 | Emiel Verstrynge | Alpecin-Premier Tech | 2:56:06 |
| 100 | Frank van den Broek | Team Picnic PostNL | 2:57:00 |
| 101 | Felix Engelhardt | Team Jayco-AlUla | 2:57:19 |
| 102 | Nico Denz | Red Bull-BORA-hansgrohe | 2:58:33 |
| 103 | Michael Storer | Tudor Pro Cycling Team | 2:59:53 |
| 104 | Max Walker | EF Education-EasyPost | 3:00:33 |
| 105 | Sebastian Berwick | Caja Rural-Seguros RGA | 3:01:43 |
| 106 | Benjamin Thomas | Cofidis | 3:02:08 |
| 107 | Per Strand Hagenes | Team Visma | Lease a Bike | 3:02:15 |
| 108 | Michel Hessmann | Movistar Team | 3:04:47 |
| 109 | Warren Barguil | Team Picnic PostNL | 3:05:35 |
| 110 | Thibault Guernalec | Team TotalEnergies | 3:07:09 |
| 111 | Robert Stannard | Bahrain Victorious | 3:07:36 |
| 112 | Marco Frigo | NSN Cycling Team | 3:07:39 |
| 113 | Luke Durbridge | Team Jayco-AlUla | 3:08:57 |
| 114 | Nicolas Vinokurov | XDS Astana Team | 3:09:01 |
| 115 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 3:12:19 |
| 116 | Edward Planckaert | Alpecin-Premier Tech | 3:12:30 |
| 117 | Simone Velasco | XDS Astana Team | 3:13:38 |
| 118 | Alex Kirsch | Cofidis | 3:14:23 |
| 119 | Jonas Rickaert | Alpecin-Premier Tech | 3:15:00 |
| 120 | Stefano Oldani | Caja Rural-Seguros RGA | 3:16:15 |
| 121 | Tim van Dijke | Red Bull-BORA-hansgrohe | 3:17:38 |
| 122 | Mike Teunissen | XDS Astana Team | 3:18:19 |
| 123 | Filippo Ganna | Netcompany INEOS Cycling Team | 3:18:27 |
| 124 | Michal Kwiatkowski | Netcompany INEOS Cycling Team | 3:18:32 |
| 125 | Georg Steinhauser | EF Education-EasyPost | 3:18:51 |
| 126 | Florian Vermeersch | UAE Team Emirates-XRG | 3:19:31 |
| 127 | Fred Wright | Pinarello-Q36.5 Pro Cycling Team | 3:19:50 |
| 128 | Aaron Gate | XDS Astana Team | 3:20:02 |
| 129 | Anthony Turgis | Team TotalEnergies | 3:20:30 |
| 130 | Hugo Page | Cofidis | 3:20:34 |
| 131 | Robbe Dhondt | Team Picnic PostNL | 3:22:48 |
| 132 | Joel Nicolau | Caja Rural-Seguros RGA | 3:23:20 |
| 133 | Dorian Godon | Netcompany INEOS Cycling Team | 3:24:16 |
| 134 | Jakub Otruba | Caja Rural-Seguros RGA | 3:24:17 |
| 135 | Daan Hoole | Decathlon CMA CGM Team | 3:25:24 |
| 136 | Krists Neilands | NSN Cycling Team | 3:26:59 |
| 137 | Biniam Girmay | NSN Cycling Team | 3:27:51 |
| 138 | Søren Wærenskjold | Uno-X Mobility | 3:28:47 |
| 139 | Julian Alaphilippe | Tudor Pro Cycling Team | 3:29:50 |
| 140 | Edoardo Affini | Team Visma | Lease a Bike | 3:30:06 |
| 141 | Liam Slock | Lotto-Intermarché | 3:30:21 |
| 142 | Tom Van Asbroeck | NSN Cycling Team | 3:30:31 |
| 143 | Huub Artz | Lotto-Intermarché | 3:30:42 |
| 144 | Jasper Philipsen | Alpecin-Premier Tech | 3:32:19 |
| 145 | Dylan van Baarle | Soudal Quick-Step | 3:33:03 |
| 146 | Max Kanter | XDS Astana Team | 3:34:08 |
| 147 | Tim Marsman | Alpecin-Premier Tech | 3:34:49 |
| 148 | Pascal Eenkhoorn | Soudal Quick-Step | 3:36:03 |
| 149 | Pavel Bittner | Team Picnic PostNL | 3:36:06 |
| 150 | Niklas Märkl | Team Picnic PostNL | 3:38:30 |
| 151 | Joshua Tarling | Netcompany INEOS Cycling Team | 3:38:40 |
| 152 | Silvan Dillier | Alpecin-Premier Tech | 3:39:22 |
| 153 | Pascal Ackermann | Team Jayco-AlUla | 3:39:58 |
| 154 | Marco Haller | Tudor Pro Cycling Team | 3:41:10 |
| 155 | John Degenkolb | Team Picnic PostNL | 3:41:42 |
| 156 | Jake Stewart | NSN Cycling Team | 3:42:15 |
| 157 | Jenthe Biermans | Cofidis | 3:42:53 |
| 158 | Davide Ballerini | XDS Astana Team | 3:45:23 |
| 159 | Piet Allegaert | Cofidis | 3:47:34 |
| 160 | Baptiste Veistroffer | Lotto-Intermarché | 3:47:35 |
| 161 | Julius van den Berg | Team Picnic PostNL | 3:48:31 |
| 162 | Milan Fretin | Cofidis | 3:48:42 |
| 163 | Phil Bauhaus | Bahrain Victorious | 3:52:48 |
| 164 | Tim Merlier | Soudal Quick-Step | 3:52:52 |
| 165 | Matis Louvel | NSN Cycling Team | 3:53:31 |
| 166 | Olav Kooij | Decathlon CMA CGM Team | 3:53:42 |
| 167 | Lewis Askey | NSN Cycling Team | 3:53:53 |
| 168 | Cees Bol | Decathlon CMA CGM Team | 3:54:37 |
| 169 | Kamil Gradek | Bahrain Victorious | 3:56:33 |
Stage 14 map & profiles:

Stage 14 map

Stage 14 profile

Grand Ballon profile

Ballon d'Alsace profile

Col du Haag profile
Stage 14 photos by Fotoreporter Sirotti:

The day's break. It looks like Richard Carapaz has just pulled off the front.

A fan waits for the peloton on the Le Markstein road to the finish.

UAE Team Emirates and Red Bull-BORA-hansgrohe take the point on the Le Markstein ascent.

Tadej Pogacar on the Le Markstein road surrounded by teammates and shadowed by Jonas Vingegaard (polka-dotted jersey).

A happy Tadej Pogacar solos across the finish line to win stage 14 and extend his lead.

Isaac del Toro and Paul Seixas finish second and third.

Fourth-placed Jonas Vingegaard.

Remco Evenepoel was fifth across the line.

Juan Ayuso & Florian Lipowitz finish sixth & seventh

Richard Carapaz finishes eighth.

Tadej Pogacar will start Sunday's stage fifteen in yellow.