
Saturday, July 25: Stage 20, Le Bourg d'Oisans - Alpe d'Huez, 170.9 km
Stage 20 map & profile | Stage 20 photos

Richard Carapaz wins stage 20. Photo: Photo: ASO/Thomas Maheux
Bill & Carol McGann’s book The Story of the Tour de France, 2022: The Fastest Tour Ever is available in both Kindle eBook & audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at Mizoën, on the route, 26.5 km from the finish, at 2:15 PM, local time: 26C (78F), partly cloudy, with the wind from the south at 14 km/hr (9 mph). There is a 23% chance of rain.
Rated ascents:
The stage: Tour boss Christian Prudhomme writes: "The Tour’s biggest mountain stage, featuring a cumulative vertical gain of 5,600 meters, is taking place on the race’s penultimate day for the first time. The names of the climbs alone is enough to get heads spinning: after ascending the Col de la Croix de Fer, the riders will tackle the Télégraphe and the Tour’s high point, the Galibier. Following that, they’ll climb to the ski station on the road via the Col de Sarenne, which has only ever been used in 2013 and then as a descent. History can be made in uncharted terrain."
The final Alpe d’Huez ascent on Stage 20 of the 2026 Tour de France is not listed as a separate categorized climb because the race approaches Alpe d'Huez via the Col de Sarenne, meaning the actual mountain climbing points are awarded at the top of the Sarenne, leaving the remaining kilometers into Alpe d'Huez as an undulating run-in rather than a distinct new official climb
The race: All 160 stage nineteen finishers began today's stage.
Midway into the stage Pascal Ackermann (Jayco AlUla) abandoned. After crashing Ilan Van Wilder (Soudal Quick-Step), who was 12th in the GC, also abandoned.
Here's the race organizer's stage 20 summary
The queen stage of the Tour de France 2026, with four major ascents en route to a historic second consecutive finish at Alpe d’Huez, crowned a special climber: Richard Carapaz (EF Education-EasyPost), the winner of stage 20 after an attacking festival in the mountains and an exhilarating battle against Sepp Kuss (Visma-Lease a Bike). The Eagle of Durango had opened a gap at the Col de Sarenne, the final giant of the day, but he crashed on the final run-in to the finish and saw Carapaz fly past him.
Third yesterday at the first finish at L’Alpe d’Huez, the Ecuadorian climber takes his third Tour stage win, the second this year, two days after conquering Orcières-Merlette. Remco Evenepoel (Red Bull-Bora-Hansgrohe) finished second ahead of Kuss. Completing the top 5 arm in arm, Tadej Pogacar (UAE Emirates XRG) and Isaac del Toro (UAE Emirates XRG) are set to step onto the overall podium tomorrow in Paris, with the Mexican leader claiming the white jersey and the third position overall. Carapaz all but secured the polka-dot jersey, while Mads Pedersen (Lidl-Trek) did the same for the green jersey.
The stage:
L’Alpe d’Huez, second leg! And this one is even harder than stage 19, even though the riders won’t tackle the legendary 21-hairpin that crowned Tadej Pogacar on Friday. This time, they reach the resort via the Col de Sarenne ascent (12.8 km at 7.3%), whose summit is 14.4 kilometres from the line. Before that, they will pass Col de la Croix de Fer (HC), Col du Télégraphe (cat 1), and Col du Galibier (HC). These major summits contribute to a gruelling 5,450 metres of total elevation gain: by far the highest figure in this Tour!

Felix Grossschartner leads the yellow jersey group up the Galibier.
Carapaz goes early
As soon as the flag drops to mark the start in Le Bourg d’Oisans, attackers set off. But the breakaway only becomes established on the ascent to Col du Glandon (HC, summit at km 33.7) with 14 leaders: Armirail, Jorgenson, Kuss, Piganzoli (Visma-Lease a Bike), Hindley (Red Bull-Bora-Hansgrohe), Ayuso (Lidl-Trek), Carapaz, Healy (EF Education-EasyPost), Riccitello (Decathlon CMA CGM), Arensman, Foss (Netcompany Ineos), Paret-Peintre (Soudal Quick-Step), T. Johannessen (Uno-X Mobility), and Braz Afonso (Groupama-FDJ United).
Inside the final four kilometres of ascent, Carapaz attacks. Paret-Peintre tries to react but the Ecuadorian climber takes 20 KOM points at the summit and strengthen his grip on the polka-dot jersey. Meanwhile, Mads Pedersen (Lidl-Trek) attacks from the peloton. The attackers get back together on the valley and the Danish powerhouse all but seals the green jersey as he takes 25 points in the intermediate sprint in Saint-Julien-Mont-Denis (km 66.5).
Carapaz and Pogacar up the ante
The road rises again with the sequence of climbs leading to Col du Télégraphe (cat 1, summit at km 87.6) and Col du Galibier (HC, km 110.5). The breakaway explodes: Carapaz conquers both summits and all but secures the mountains classification. Only four riders are still with him over the highest summit of this Tour (2,642 metres above sea level): Kuss, Hindley, and Ayuso.

Attackers on the Col de la Croix der Fer, the longest climb of this Tour.
Behind, Tadej Pogacar (UAE Emirates XRG) ups the ante and makes a significant selection. At the bottom of the final climb to Col de Sarenne (HC, km 156.5), the Slovenian pulls a reduced GC group three and a half minutes behind the leaders.

Pogacar took over the lead of his group one km from the top of the Galibier, causing several riders to be dropped.
Kuss takes off… and crashes
After a series of attacks, Kuss distances Carapaz and Hindley 3 kilometres from the summit. Carapaz tries to resist. At the summit, he’s 18 seconds behind Kuss. The gap drops down to 12 seconds… And Kuss crashes a couple of times on the following downhill! On the second occasion, Carapaz passes him with six kilometres remaining.

Sepp Kuss was alone and off the front and possibly heading to a stage win when he crashed 6 km from the finish. With 1.2 km to go Kuss was 25sec behind new leader Richard Carapaz
In the meantime, Del Toro accelerates and distances Paul Seixas, his main rival for the white jersey and the third overall place. Evenepoel attacks with three kilometres remaining. Pogacar paces Del Toro. At the finish, Carapaz takes his tenth Grand Tour stage win (3 at the Tour, 3 at La Vuelta, 4 in the Giro) 26 seconds ahead of Evenepoel, with Kuss in third place (+31’’).

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

Stage 20 map

Stage 20 profile

Detailed profile of the Col de la Croix de Fer

Detailed profiles of the Télégraph & Galibier climbs

Detailed profiles of the Sarenne & Alpe d'Huez ascents.
Stage 20 photos by Fotoreporter Sirotti:

A hard day at the office. Riders on the Col de Sarenne.

Riders on the Col de Sarenne

Sepp Kuss is in the lead on the Col de Sarenne. He'll crash later, about 5 kilometers from the finish.

He's gone. Richard Carapaz heads to the finish as he climbs the Sarenne. He & Remco Evenepoel will pass Sepp Kuss.

Tadej Pogacar leads Remco Evenepoel and the other GC leaders on the Sarenne ascent.

Mattias Skjelmose finished eighth. That should be Juan Ayuso and Paul Seixas on his wheel.

Richard Carapaz wins stage 20.

Remco Evenepoel and Sepp Kuss finish 2nd & 3rd.

Tadej Pogacar & Isaac del Toro finish 4th & 5th.

Seventh place Jai Hindley

Paul Seixas was 10th across the line.

Stage winner and King of the Mountains Richard Carapaz

Tadej Pogacar just about has his fifth Tour won.