BikeRaceInfo: Current and historical race results, plus interviews, bikes, travel, and cycling historyBikeRaceInfo: Current and historical race results, plus interviews, bikes, travel, and cycling history
Search our site:
Email Newsletter icon, E-mail Newsletter icon, Email List icon, E-mail List icon Sign up for our Email Newsletter

2025 Tour de France

112th edition: July 5 - July 27, 2025
Stage 20, Saturday, July 26

Back to 2025 Tour de France

Saturday, July 26: Stage 20, Nantua - Pontarlier, 184 km

Stage 20 map & profile | Stage 20 photos

Kaden Groves wins stage 20. Photo: Billy Lebelge

find us on Facebook See our youtube channel

The Story of the Tour de France, vol.2 South Salem Cycleworks frames Melanoma: It Started With a Freckle The Story of the Giro d’Italia, vol.2 Shade Vise sunglass holder Paris-Roubaix: The Inside Store Advertise with us!


Content continues below the ads

The Story of the Tour de France, vol.1 South Salem Cycleworks frames Melanoma: It Started With a Freckle
Dirty Feet: Early days of the Tour de France

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.

Rated ascents:

  • Km 24.7: Col de la Croix de la Serra, 12.1 km @ 4.1%. Cat. 3
  • Km 45.1: Côte de Valfin, 5.7 km @ 4.2%. Cat. 4
  • Km 121.6: Côte de Thésy, 3.6 km @ 8.9%. Cat. 2
  • Km 160.1: Côte de Longeville, 2.5 km @ 5.5%. Cat. 4

Weather at the finish city of Pontarlier at 2:15 PM, local time: 19C (67F), mostly cloudy, with the wind from the north at 10 km/hr (6 mph). There is a 24% chance of rain, rising to 57% at 4:00 PM.

Here's the race organizer's forecast: 21ºC, cloudy with sunny spells - it’s good weather for the first few kilometers of the day. Unfortunately, this situation will not last: at Saint-Claude (km 37.6), the first drops of rain are expected to fall on the riders... and from then on, several storms will hit them until the finish in Pontarlier, which should also be drenched. At least the wind will not be a nuisance and temperatures will not drop below 16ºC.

The stage: Tour boss Christian Prudhomme writes: At this stage of the Tour, there’ll still be some in-form riders who haven’t yet managed to claim a victory bouquet. They’ll all be keen to get into the breakaway, but the selection process will be tough, thanks especially to the ascent of the Col de la Croix de la Serra. The hilly profile of the final third of the stage will give the strongest riders the chance to break away and finish solo or in a small group in the capital of absinthe.

The race: "Unfortunately, with just two stages left until the final, Yevgeniy Fedorov is forced to abandon the race due to an intestinal infection", his team XDS Astana reports.

160 riders began stage 20 at 12:17 PM.

Thymen Arensman took this selfie of the start line. It's time to race.

Here's the race organizer's stage 20 report:

Kaden Groves (Alpecin-Deceuninck) is much more than a sprinter, as he has proved time and again in his career - though never before at the Tour de France. Already a winner of seven stages at La Vuelta and two at the Giro d’Italia, the Australian rider came to the French Grand Tour for the first time this year as lead-out man for Jasper Philipsen, who crashed out of the race on day 3.

After Mathieu van der Poel also retired due to illness at the beginning of week 3, Groves made today’s breakaway, displaying his versatility in a stage marked by aggressive racing from Santa to Pontarlier, where he took his maiden Tour stage win. Part of a 13-man breakaway, he covered the final 16 kilometres solo to claim victory ahead of Frank van den Broek (Picnic PostNL) and Pascal Eenkhoorn (Soudal Quick-Step). He is the 114th rider to win stages in all three Grand Tours. Tadej Pogacar (UAE Team Emirates-XRG) leads the overall standings going into the final stage on Sunday in Paris.

The race:
Attackers feel it’s their time to shine with a 184.2-km challenging course from Nantua to Pontarlier. Many riders have been targeting stage 20 of the Tour 2025 for a long time as they envision a great opportunity to change the script and claim victory on the eve of the Champs-Élysées. Yevgeniy Fedorov doesn’t participate in this battle as his team XDS Astana reports he has to retire due to an intestinal infection.

A huge battle for the breakaway
Right from the gun, Kasper Asgreen (EF Education-EasyPost) sets off. The Danish rouleur has found success on these roads before, having pulled off a hard-fought breakaway victory in Bourg-en-Bresse (stage 18, 2023), some 30 kilometres west of Nantua. The Dane goes hard under the rain but he doesn’t succeed in breaking away due to the many attacks and counter-attacks shaking up the bunch.

His EF teammates, and notably Ben Healy, are very active. Harry Sweeny eventually makes a 13-man breakaway formed at km 65, as the Australian rider joins Tim Wellens (UAE Team Emirates-XRG), Matteo Jorgenson (Visma-Lease a Bike) and Ewen Costiou (Arkéa-B&B Hotels) with nine more chasers: Pascal Eenkhoorn (Soudal-Quick Step), Romain Grégoire (Groupama-FDJ), Kaden Groves (Alpecin-Deceuninck), Matteo Trentin (Tudor), Ivan Romeo (Movistar), Simone Velasco (XDS-Astana), Jordan Jegat (Total Energies), Frank van den Broek (Picnic-PostNL) and Jake Stewart (Israel-Premier Tech).

The day's break with 98 km to go. They are 2min 15sec ahead of the peloton.

Sweeny tries his luck
As Jegat threatens Ben O’Connor’s 10th place in the overall standings (4’08’’ of difference between them), Mauro Schmid (Jayco AlUla) is tasked with driving the scattered bunch. Oscar Onley (Picnic PostNL) and Felix Gall (Decathlon AG2R La Mondiale) are momentarily dropped but the situation eventually settles. Despite a crash at km 71, the Swiss national champion controls the gap at 2’30’’ at the bottom of the main climb of the day, Côte de Thésy.

Jegat accelerates on the climb. Sweeny joins him at the summit. And the Australian rider goes solo with 54 kilometres to go to the finish. He opens a gap of 40’’ to his his breakaway rivals before the latter change the script. Ten riders get back together as they hit the bottom of the Côte de Longeville (cat. 4, summit 24.1km away from the finish). Costiou, Wellens and Jorgenson have been distanced.

Harry Sweeny (EF Education-EasyPost) is alone and off the front. With 30 km to go he has an 11sec lead on a five-man group with Pascal Eenkhoorn. The peloton is 5min 27sec back.

A dramatic finale
A group of six riders emerges over the top: Grégoire, Romeo, Velasco, Groves, Stewart and Van den Broek. Grégoire accelerates on the downhill but his rivals follow. Romeo counter-attacks but he slips in a turn with 22 km to go and hits the deck. Grégoire and Velasco are also affected. Groves, Stewart and Van den Broek keep going.

With 16.5 km to go, Stewart and Van den Broek look at each other. Groves doesn’t wait for them and takes off towards victory! At the finish, Van den Broek (+54’’) and Eenkhoorn (+59’’) complete the top 3 while Grégoire has to settle for 5th on his home roads. The peloton cross the line with a gap of over 7 minutes. Jegat takes the 10th place in the overall standings from O’Connor.

Complete results:

Photos

184 kilometers raced at an average speed of 44.851 km/hr

1 Kaden Groves Alpecin-Deceuninck 4hr 6min 9sec
2 Frank van den Broek Team Picnic PostNL @ 54sec
3 Pascal Eenkhoorn Soudal Quick-Step 0:59
4 Simone Velasco XDS Astana Team 1:04
5 Romain Grégoire Groupama-FDJ s.t.
6 Jake Stewart Israel-Premier Tech s.t.
7 Jordan Jegat Team TotalEnergies s.t.
8 Tim Wellens UAE Team Emirates-XRG s.t.
9 Matteo Jorgenson Team Visma | Lease a Bike s.t.
10 Harry Sweeny EF Education-EasyPost s.t.
11 Matteo Trentin Tudor Pro Cycling Team 2:01
12 Ewen Costiou Arkea-B&B Hotels 3:45
13 Davide Ballerini XDS Astana Team 7:04
14 Mike Teunissen XDS Astana Team s.t.
15 Jonas Abrahamsen Uno-X Mobility s.t.
16 Anthony Turgis Team TotalEnergies s.t.
17 Louis Barré Intermarché-Wanty s.t.
18 Xandro Meurisse Alpecin-Deceuninck s.t.
19 Thomas Gachignard Team TotalEnergies s.t.
20 Mathis Le Berre Arkea-B&B Hotels s.t.
21 Matis Louvel Israel-Premier Tech s.t.
22 Laurence Pithie Red Bull-BORA-hansgrohe s.t.
23 Florian Lipowitz Red Bull-BORA-hansgrohe s.t.
24 Tobias Halland Johannessen Uno-X Mobility s.t.
25 Kévin Vauquelin Arkea-B&B Hotels s.t.
26 Markus Hoelgaard Uno-X Mobility s.t.
27 Neilson Powless EF Education-EasyPost s.t.
28 Ben Healy EF Education-EasyPost s.t.
29 Max Schachmann Soudal Quick-Step s.t.
30 Jenno Berckmoes Lotto s.t.
31 Wout van Aert Team Visma | Lease a Bike s.t.
32 Tadej Pogacar UAE Team Emirates-XRG s.t.
33 Mick van Dijke Red Bull-BORA-hansgrohe s.t.
34 Jonas Vingegaard Team Visma | Lease a Bike s.t.
35 Primoz Roglic Red Bull-BORA-hansgrohe s.t.
36 Simon Yates Team Visma | Lease a Bike s.t.
37 Cristian Rodriguez Arkea-B&B Hotels s.t.
38 Ion Izagirre Cofidis s.t.
39 Raúl García Arkea-B&B Hotels s.t.
40 Ilan Van Wilder Soudal Quick-Step s.t.
41 Kasper Asgreen EF Education-EasyPost s.t.
42 Sergio Higuita XDS Astana Team s.t.
43 Valentin Madouas Groupama-FDJ s.t.
44 Oscar Onley Team Picnic PostNL s.t.
45 Oliver Naesen Decathlon AG2R La Mondiale s.t.
46 Bastien Tronchon Decathlon AG2R La Mondiale s.t.
47 Felix Gall Decathlon AG2R La Mondiale s.t.
48 Valentin Paret-Peintre Soudal Quick-Step s.t.
49 Dylan Teuns Cofidis s.t.
50 Andreas Leknessund Uno-X Mobility s.t.
51 Alexandre Delettre Team TotalEnergies s.t.
52 Marius Mayrhofer Tudor Pro Cycling Team s.t.
53 Marc Hirschi Tudor Pro Cycling Team s.t.
54 Gregor Mühlberger Movistar Team s.t.
55 Tobias Lund Andresen Team Picnic PostNL s.t.
56 Ben O'Connor Team Jayco-AlUla s.t.
57 Thymen Arensman INEOS Grenadiers s.t.
58 Toms Skujins Lidl-Trek s.t.
59 Jasper Stuyven Lidl-Trek s.t.
60 Axel Laurance INEOS Grenadiers s.t.
61 Joe Blackmore Israel-Premier Tech s.t.
62 Nils Politt UAE Team Emirates-XRG s.t.
63 Aurélien Paret-Peintre Decathlon AG2R La Mondiale s.t.
64 Emanuel Buchmann Cofidis s.t.
65 Tobias Foss INEOS Grenadiers s.t.
66 Sam Watson INEOS Grenadiers s.t.
67 Einer Rubio Movistar Team s.t.
68 Michael Storer Tudor Pro Cycling Team s.t.
69 Guillaume Martin-Guyonnet Groupama-FDJ s.t.
70 Michael Woods Israel-Premier Tech s.t.
71 Anders Halland Johannessen Uno-X Mobility s.t.
72 Marc Soler UAE Team Emirates-XRG s.t.
73 Jhonatan Narvaez UAE Team Emirates-XRG s.t.
74 Mauro Schmid Team Jayco-AlUla s.t.
75 Clément Venturini Arkea-B&B Hotels s.t.
76 Damien Touzé Cofidis s.t.
77 Bruno Armirail Decathlon AG2R La Mondiale 11:11
78 Clément Russo Groupama-FDJ 13:17
79 Lewis Askey Groupama-FDJ s.t.
80 Alex Baudin EF Education-EasyPost s.t.
81 Tim Naberman Team Picnic PostNL s.t.
82 Warren Barguil Team Picnic PostNL s.t.
83 Alex Aranburu Cofidis s.t.
84 Krists Neilands Israel-Premier Tech s.t.
85 Jarrad Drizners Lotto s.t.
86 Brent Van Moer Lotto s.t.
87 Lenny Martinez Bahrain Victorious s.t.
88 Jonas Rickaert Alpecin-Deceuninck 22:17
89 Tiesj Benoot Team Visma | Lease a Bike s.t.
90 Clément Berthet Decathlon AG2R La Mondiale s.t.
91 Santiago Buitrago Bahrain Victorious s.t.
92 Harold Tejada XDS Astana Team s.t.
93 Quentin Pacher Groupama-FDJ s.t.
94 Edoardo Affini Team Visma | Lease a Bike s.t.
95 Geraint Thomas INEOS Grenadiers s.t.
96 Victor Campenaerts Team Visma | Lease a Bike s.t.
97 Hugo Page Intermarché-Wanty s.t.
98 Paul Penhoët Groupama-FDJ s.t.
99 Sepp Kuss Team Visma | Lease a Bike s.t.
100 Emiel Verstrynge Alpecin-Deceuninck s.t.
101 Callum Scotson Decathlon AG2R La Mondiale s.t.
102 Adam Yates UAE Team Emirates-XRG s.t.
103 Fred Wright Bahrain Victorious s.t.
104 Michael Valgren EF Education-EasyPost s.t.
105 Alberto Dainese Tudor Pro Cycling Team s.t.
106 Aleksandr Vlasov Red Bull-BORA-hansgrohe s.t.
107 Quinn Simmons Lidl-Trek s.t.
108 William Barta Movistar Team s.t.
109 Gianni Moscon Red Bull-BORA-hansgrohe s.t.
110 Stian Fredheim Uno-X Mobility s.t.
111 Biniam Girmay Intermarché-Wanty 22:27
112 Magnus Cort Uno-X Mobility s.t.
113 Nelson Oliveira Movistar Team s.t.
114 Mattéo Vercher Team TotalEnergies 22:29
115 Iván García Cortina Movistar Team s.t.
116 Iván Romeo Movistar Team 22:33
117 Pablo Castrillo Movistar Team s.t.
118 Thibau Nys Lidl-Trek s.t.
119 Jordi Meeus Red Bull-BORA-hansgrohe 24:29
120 Clément Champoussin XDS Astana Team s.t.
121 Eduardo Sepulveda Lotto 28:49
122 Pavel Sivakov UAE Team Emirates-XRG s.t.
123 Jonas Rutsch Intermarché-Wanty s.t.
124 Laurenz Rex Intermarché-Wanty s.t.
125 Matej Mohoric Bahrain Victorious s.t.
126 Lucas Plapp Team Jayco-AlUla s.t.
127 Kamil Gradek Bahrain Victorious s.t.
128 Robert Stannard Bahrain Victorious s.t.
129 Connor Swift INEOS Grenadiers s.t.
130 Sébastien Grignard Lotto s.t.
131 Alexis Renard Cofidis s.t.
132 Silvan Dillier Alpecin-Deceuninck s.t.
133 Elmar Reinders Team Jayco-AlUla s.t.
134 Luke Durbridge Team Jayco-AlUla s.t.
135 Amaury Capiot Arkea-B&B Hotels s.t.
136 Dylan Groenewegen Team Jayco-AlUla s.t.
137 Bert Van Lerberghe Soudal Quick-Step s.t.
138 Arnaud Démare Arkea-B&B Hotels s.t.
139 Guillaume Boivin Israel-Premier Tech s.t.
140 Marco Haller Tudor Pro Cycling Team s.t.
141 Luka Mezgec Team Jayco-AlUla s.t.
142 Fabian Lienhard Tudor Pro Cycling Team s.t.
143 Phil Bauhaus Bahrain Victorious s.t.
144 Sean Flynn Team Picnic PostNL s.t.
145 Tim Merlier Soudal Quick-Step s.t.
146 Pavel Bittner Team Picnic PostNL s.t.
147 Gianni Vermeersch Alpecin-Deceuninck s.t.
148 Mathieu Burgaudeau Team TotalEnergies s.t.
149 Edward Theuns Lidl-Trek s.t.
150 Jonathan Milan Lidl-Trek s.t.
151 Simone Consonni Lidl-Trek s.t.
152 Roel van Sintmaartensdijk Intermarché-Wanty s.t.
153 Vito Braet Intermarché-Wanty s.t.
154 Vincenzo Albanese EF Education-EasyPost s.t.
155 Alexey Lutsenko Israel-Premier Tech s.t.
156 Pascal Ackermann Israel-Premier Tech s.t.
157 Niklas Märkl Team Picnic PostNL s.t.
158 Benjamin Thomas Cofidis s.t.
159 Arnaud De Lie Lotto s.t.
160 Julian Alaphilippe Tudor Pro Cycling Team s.t.

 

GC after stage 20:

  • GC leader: Tadej Pogacar (UAE Team Emirates-XRG)
  • Mountains classification leader: Tadej Pogacar (UAE Team Emirates-XRG)
  • Points classification leader: Jonathan Milan (Lidl-Trek)
  • Best young rider: Florian Lipowitz (Red Bull-BORA-hansgrohe)
  • Teams classification leader: Visma | Lease a Bike

3,166.3 kilometers raced so far at an average speed of 42.834 km/hr

1 Tadej Pogacar UAE Team Emirates-XRG 73hr 54min 59sec
2 Jonas Vingegaard Team Visma | Lease a Bike @ 4min 24sec
3 Florian Lipowitz Red Bull-BORA-hansgrohe 11:09
4 Oscar Onley Team Picnic PostNL 12:12
5 Felix Gall Decathlon AG2R La Mondiale 17:12
6 Tobias Halland Johannessen Uno-X Mobility 20:14
7 Kévin Vauquelin Arkea-B&B Hotels 22:35
8 Primoz Roglic Red Bull-BORA-hansgrohe 25:30
9 Ben Healy EF Education-EasyPost 28:02
10 Jordan Jegat Team TotalEnergies 32:42
11 Ben O'Connor Team Jayco-AlUla 34:34
12 Thymen Arensman INEOS Grenadiers 52:41
13 Jhonatan Narvaez UAE Team Emirates-XRG 1:04:36
14 Sergio Higuita XDS Astana Team 1:08:19
15 Simon Yates Team Visma | Lease a Bike 1:17:30
16 Guillaume Martin-Guyonnet Groupama-FDJ 1:18:07
17 Sepp Kuss Team Visma | Lease a Bike 1:20:24
18 Gregor Mühlberger Movistar Team 1:28:17
19 Matteo Jorgenson Team Visma | Lease a Bike 1:29:28
20 Cristian Rodriguez Arkea-B&B Hotels 1:36:15
21 Valentin Madouas Groupama-FDJ 1:39:46
22 Xandro Meurisse Alpecin-Deceuninck 1:43:46
23 Warren Barguil Team Picnic PostNL 1:48:09
24 Adam Yates UAE Team Emirates-XRG 1:48:41
25 Aurélien Paret-Peintre Decathlon AG2R La Mondiale 2:12:52
26 Raúl García Arkea-B&B Hotels 2:15:58
27 Aleksandr Vlasov Red Bull-BORA-hansgrohe 2:16:15
28 Victor Campenaerts Team Visma | Lease a Bike 2:20:36
29 Marc Soler UAE Team Emirates-XRG 2:21:01
30 Emanuel Buchmann Cofidis 2:21:34
31 Einer Rubio Movistar Team 2:21:56
32 Ilan Van Wilder Soudal Quick-Step 2:23:14
33 Callum Scotson Decathlon AG2R La Mondiale 2:25:40
34 Romain Grégoire Groupama-FDJ 2:25:58
35 Harry Sweeny EF Education-EasyPost 2:27:58
36 Clément Berthet Decathlon AG2R La Mondiale 2:32:50
37 Tim Wellens UAE Team Emirates-XRG 2:38:24
38 Simone Velasco XDS Astana Team 2:41:31
39 Frank van den Broek Team Picnic PostNL 2:45:44
40 Santiago Buitrago Bahrain Victorious 2:45:48
41 Valentin Paret-Peintre Soudal Quick-Step 2:47:05
42 Michael Storer Tudor Pro Cycling Team 2:50:51
43 Clément Venturini Arkea-B&B Hotels 2:52:39
44 Harold Tejada XDS Astana Team 2:54:34
45 Quentin Pacher Groupama-FDJ 2:56:00
46 Alex Baudin EF Education-EasyPost 2:56:15
47 Neilson Powless EF Education-EasyPost 2:58:52
48 Joe Blackmore Israel-Premier Tech 2:59:04
49 Pascal Eenkhoorn Soudal Quick-Step 3:00:25
50 Bruno Armirail Decathlon AG2R La Mondiale 3:03:12
51 Ewen Costiou Arkea-B&B Hotels 3:06:35
52 Michael Woods Israel-Premier Tech 3:06:59
53 Axel Laurance INEOS Grenadiers 3:10:10
54 Tiesj Benoot Team Visma | Lease a Bike 3:10:19
55 Alexandre Delettre Team TotalEnergies 3:12:28
56 Julian Alaphilippe Tudor Pro Cycling Team 3:13:20
57 Andreas Leknessund Uno-X Mobility 3:14:44
58 Geraint Thomas INEOS Grenadiers 3:14:57
59 Quinn Simmons Lidl-Trek 3:17:45
60 Thomas Gachignard Team TotalEnergies 3:23:14
61 Mathis Le Berre Arkea-B&B Hotels 3:25:28
62 Jasper Stuyven Lidl-Trek 3:26:11
63 Mathieu Burgaudeau Team TotalEnergies 3:26:18
64 Markus Hoelgaard Uno-X Mobility 3:26:29
65 Emiel Verstrynge Alpecin-Deceuninck 3:28:01
66 Jenno Berckmoes Lotto 3:33:12
67 Wout van Aert Team Visma | Lease a Bike 3:34:06
68 Max Schachmann Soudal Quick-Step 3:35:01
69 Ion Izagirre Cofidis 3:35:02
70 Tobias Foss INEOS Grenadiers 3:35:15
71 Jonas Abrahamsen Uno-X Mobility 3:36:21
72 Michael Valgren EF Education-EasyPost 3:37:01
73 Oliver Naesen Decathlon AG2R La Mondiale 3:39:28
74 Nelson Oliveira Movistar Team 3:41:03
75 Nils Politt UAE Team Emirates-XRG 3:44:45
76 Anders Halland Johannessen Uno-X Mobility 3:46:02
77 Bastien Tronchon Decathlon AG2R La Mondiale 3:46:36
78 Marc Hirschi Tudor Pro Cycling Team 3:48:37
79 Lenny Martinez Bahrain Victorious 3:49:05
80 Mike Teunissen XDS Astana Team 3:49:28
81 Alex Aranburu Cofidis 3:49:29
82 Louis Barré Intermarché-Wanty 3:51:34
83 Marius Mayrhofer Tudor Pro Cycling Team 3:53:18
84 Brent Van Moer Lotto 3:53:19
85 Clément Champoussin XDS Astana Team 3:53:27
86 Kaden Groves Alpecin-Deceuninck 3:53:29
87 Pavel Sivakov UAE Team Emirates-XRG 3:54:19
88 Krists Neilands Israel-Premier Tech 3:54:25
89 Laurence Pithie Red Bull-BORA-hansgrohe 3:54:44
90 Dylan Teuns Cofidis 3:55:48
91 Kasper Asgreen EF Education-EasyPost 3:58:25
92 Alexey Lutsenko Israel-Premier Tech 3:59:52
93 Clément Russo Groupama-FDJ 4:01:44
94 Damien Touzé Cofidis 4:01:48
95 Toms Skujins Lidl-Trek 4:04:16
96 Tobias Lund Andresen Team Picnic PostNL 4:06:51
97 Marco Haller Tudor Pro Cycling Team 4:09:24
98 Jonas Rickaert Alpecin-Deceuninck 4:11:17
99 Matteo Trentin Tudor Pro Cycling Team 4:12:31
100 Matis Louvel Israel-Premier Tech 4:13:01
101 Mauro Schmid Team Jayco-AlUla 4:14:00
102 William Barta Movistar Team 4:20:07
103 Gianni Vermeersch Alpecin-Deceuninck 4:22:29
104 Fred Wright Bahrain Victorious 4:22:52
105 Gianni Moscon Red Bull-BORA-hansgrohe 4:30:56
106 Anthony Turgis Team TotalEnergies 4:31:58
107 Iván Romeo Movistar Team 4:33:49
108 Jake Stewart Israel-Premier Tech 4:36:37
109 Connor Swift INEOS Grenadiers 4:40:30
110 Pablo Castrillo Movistar Team 4:42:51
111 Paul Penhoët Groupama-FDJ 4:44:44
112 Niklas Märkl Team Picnic PostNL 4:46:23
113 Mick van Dijke Red Bull-BORA-hansgrohe 4:46:50
114 Vincenzo Albanese EF Education-EasyPost 4:48:20
115 Sam Watson INEOS Grenadiers 4:50:14
116 Thibau Nys Lidl-Trek 4:50:42
117 Iván García Cortina Movistar Team 4:53:18
118 Edoardo Affini Team Visma | Lease a Bike 4:54:53
119 Alberto Dainese Tudor Pro Cycling Team 4:56:31
120 Tim Naberman Team Picnic PostNL 5:00:03
121 Lucas Plapp Team Jayco-AlUla 5:02:34
122 Eduardo Sepulveda Lotto 5:02:54
123 Robert Stannard Bahrain Victorious 5:03:30
124 Mattéo Vercher Team TotalEnergies 5:06:33
125 Pascal Ackermann Israel-Premier Tech 5:09:57
126 Matej Mohoric Bahrain Victorious 5:10:17
127 Lewis Askey Groupama-FDJ 5:10:40
128 Jonas Rutsch Intermarché-Wanty 5:11:07
129 Jarrad Drizners Lotto 5:11:17
130 Magnus Cort Uno-X Mobility 5:11:51
131 Silvan Dillier Alpecin-Deceuninck 5:14:12
132 Biniam Girmay Intermarché-Wanty 5:14:55
133 Pavel Bittner Team Picnic PostNL 5:17:44
134 Sean Flynn Team Picnic PostNL 5:18:13
135 Davide Ballerini XDS Astana Team 5:20:28
136 Amaury Capiot Arkea-B&B Hotels 5:22:38
137 Luke Durbridge Team Jayco-AlUla 5:23:21
138 Hugo Page Intermarché-Wanty 5:24:23
139 Stian Fredheim Uno-X Mobility 5:26:41
140 Elmar Reinders Team Jayco-AlUla 5:28:50
141 Laurenz Rex Intermarché-Wanty 5:29:16
142 Arnaud De Lie Lotto 5:29:35
143 Vito Braet Intermarché-Wanty 5:32:04
144 Sébastien Grignard Lotto 5:33:48
145 Alexis Renard Cofidis 5:34:56
146 Jonathan Milan Lidl-Trek 5:35:35
147 Bert Van Lerberghe Soudal Quick-Step 5:36:47
148 Tim Merlier Soudal Quick-Step 5:37:19
149 Guillaume Boivin Israel-Premier Tech 5:37:44
150 Dylan Groenewegen Team Jayco-AlUla 5:38:24
151 Phil Bauhaus Bahrain Victorious 5:39:29
152 Luka Mezgec Team Jayco-AlUla 5:40:08
153 Arnaud Démare Arkea-B&B Hotels 5:40:35
154 Benjamin Thomas Cofidis 5:41:16
155 Kamil Gradek Bahrain Victorious 5:43:51
156 Roel van Sintmaartensdijk Intermarché-Wanty 5:44:11
157 Fabian Lienhard Tudor Pro Cycling Team 5:46:00
158 Jordi Meeus Red Bull-BORA-hansgrohe 5:48:25
159 Edward Theuns Lidl-Trek 5:51:25
160 Simone Consonni Lidl-Trek 5:51:40

 


Content continues below the ads

The Story of the Giro d’Italia, vol.1 Shade Vise sunglass holder Paris-Roubaix: The Inside Store

Stage 20 map & profile:

Stage 20 map

Stage 20 profile


Content continues below the ads

Advertise with us!

Stage 20 photos by Fotoreporter Sirotti:

Riders presentation ceremony: Guillaume Martin

Tim Merlier & Valentin Paret-Peintre

Team Lotto

The stage gets started. Here's the publicity caravan.

Another shot of the publicity caravan.

Nice work! Kaden Groves solos across the line for a superb stage win.

Second-place Frank van den Broek came in 54 seconds later.

Pascal Eenkhoorn finishes third.

Simone Velasco (on the left) wins the field sprint for fourth.

Stage winner Kaden Groves

One more stage to go. Tadej Pogacar about has the Tour wrapped up.