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

2023 Tour de France

110th edition: July 1-23, 2023
Stage 20: Saturday, July 22, 2023

Back to 2023 Tour de France

Saturday, July 22: Stage 20, Belfort - Le Markstein Fellering, 133.5 km

Stage 20 map & profiles | Stage 20 photos

Tadej Pogacar wins stage 20. ASO photo

Les Woodland's book Tour de France: The Inside Story - Making the World's Greatest Bicycle Race is available in print, Kindle eBook and audiobook versions. To get your copy, just click on the Amazon link on the right.

Weather at the finish city of Fellering at 2:15 PM, local time: 22C (71F), partly cloudy, with the wind from the southwest at 16 km/hr (10 mph). No rain is forecast.

Rated ascents

  • Km 24: Ballon d'Alsace, 11.5 km @ 5.2%. Cat. 2
  • Km 56.5: Col de la Croix des Moinats, 5.2 km @ 7%. Cat. 2
  • Km 64.9: Col de Grosse Pierre, 3.2 km @ 8%. Cat. 2
  • Km 79.4: Col de la Schlucht, 4.3 km @ 5.4%. Cat. 3
  • Km 108.2: Petit Ballon, 9.3 km @ 8.1%. Cat. 1
  • Km 125.3: Col du Platzerwasel, 7.1 km @ 8.4%. Cat. 1

The race: All 151 stage 19 finishers began stage 20 at 1:44.

As usual, Victor Campenaerts was the first to attack with Jasper De Buyst joining him. After 6 kilometers they had a 40-second lead.

The day's first climb is the Ballon d'Alsace, which is also the Tour de France's first climb, used for the first time more than 100 years ago in 1905. This is the 27th time the Tour has sent riders up this mountain.

Soon after hitting the Ballon d'Alsace Jasper De Buyst was dropped by Campenaerts. Four kilometers from the summit Campenaerts was caught.

We got a hint about Pogacar's plans since two of his UAE Team Emirates teammates were leading the peloton in the chase.

Giulio Ciccone was first over the top, followed by Mattias Skjelmose and then Mads Pedersen.

The climb broke things up with Vingegaard in the 16-man front group and Pogacar in the second one.

The riders in the first group: Vingegaard, Van Baarle, Kwiatkowski, Pidcock, Küng, Powless, Alaphilippe, Landa, Ciccone, Skjelmose, Pedersen, Van der Poel, Ion Izagirre, Zingle, Neilands, Barguil, Van Gils and Burgaudeau.

Understanding that his presence in the break intensified chase efforts, Vingegaard sat up and awaited the group with Pogacar.

With 79 kilometers to go there were five riders in a group off the front: Ciccone, Skjelmose, Neilands, Barguil & Van Gils with the peloton 40 seconds back. There were some riders in between.

The day's second climb, the Croix de Molnats came 56 kilometers into the stage and again it was Ciccone who was first to the top.

And it was the same at the third climb, the Col de Grosse Pierre. First Ciccone then Skjelmose.

With 63 kilometers to go there was a group of seven in the lead: Pinot, Madouas, Ciccone, Skjelmose, Harper, Barguil, Van Gils, Uran, Vermaerke and Pidcock.

Thibaut Pinot, Rigoberto Uran and Valentin Madouas bridged up to the front group, making it ten riders off the front.

The ten riders off the front.

The peloton was 1 minute 7 seconds back, led by Pogacar's UAE Teammates Marc Soler & Mikkel Bjerg. Clearly Pogacar had plans to attempt a stage win.

Giulio Ciccone was first over the Col de la Schlucht. That gave him enough points to make him the sure winner of the King of the Mountains competition, assuming he made it to Paris.

There were five riders in the lead as the race reached the day's penultimate climb, the Petit Ballon: Pinot, Madouas, Pidcock, Ciccone and Barguil. The pack was 1 minute 20 seconds back.

Six kilometers from the summit of the Petit Ballon, Thibaut Pinot attacked the break.

Thibaut Pinot attacks the break on the Petit Ballon.

Thibaut Pinot began climbing the Platzerwasel, the last major climb of the 2023 Tour de France, 17 seconds ahead of his closest chasers. The yellow jersey group with 15 riders is 1 minute 10 seconds back.

Six kilometers from the top of the Platzerwasel Pogacar attacked. Vingegaard was quickly on his wheel.

Felix Gall leads Vingegaard & Pogacar up the Platzerwasel.

On the Platzerwasel climb, 10.8 kilometers from the finish Vingegaard, Pogacar and Felix Gall were off the front. The Yates brothers, Pinot and Barguil were 27 seconds back. And then the Yates brothers were alone, just 19 seconds back.

The lead trio of Felix Gall, Pogacar & Vingegaard 500 meters from the summit of the Platzerwasel.

Felix Gall was was first over the Platzerwasel followed by Vingegaard and Pogacar. Then Simon Yates, Adam Yates and Warren Barguil.

Victor Lafay, winner of stage two, abandoned.

With five kilometers to go the Yates brothers had bridged up to Vingegaard, Pogacar & Gall.

Three kilometers from the finish Simon Yates tried to get away from the chasing group, but he was quickly caught.

The lead quintet was still together with one kilometer to go with Pinot, Barguil & Bilbao 30 seconds back.

Tadej Pogacar won the stage, followed in by Felix Gall & Jonas Vingegaard. Simon Yates was fourth and Adam Yates fifth. It looked to this writer that Vingegaard generously let Pogacar win.

Tadej Pogacar wins stage 20.

Jonas Vingegaard retained the yellow jersey and if he stays up on his bike Sunday, has won the 2023 Tour de France.

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

The duel between Jonas Vingegaard and Tadej Pogacar lasted till the very end of the very last mountain stage of the 110th Tour de France as the Slovenian outsprinted the Dane at Le Markstein to claim his 11th stage win, the second one this year. Felix Gall placed himself between them and Vingegaard retained the yellow jersey on the eve of the grand finale in Paris, but the second last stage was truly the expected fireworks for Thibaut Pinot who rode alone in the lead in front of his fans before crossing the line in seventh position.

The start proper of stage 20 was given to 151 riders at 13.44. As usual, Victor Campenaerts (Lotto-Dstny) was the first attacker, accompanied this time by his team-mate Jasper De Buyst. Up to Ballon d’Alsace, Campenaerts soloed until he was reeled in 4.4km before the summit.

The peloton was compact at the top and the sprint for the KOM was won by Giulio Ciccone who appeared as the only rider interested to contest the polka dot jersey among the four who were still mathematically in the situation of winning it. Carlos Rodriguez (Ineos Grenadiers), 4th overall, crashed at km 33. Once he made it back to the pack, a group of 16 riders including Jonas Vingegaard but not Tadej Pogacar. The yellow jersey eventually sat up to give a chance to the breakaway to succeed.

Some of these attackers managed to stay away and formed a 6-man leading group with 80km to go: Ciccone and Mattias Skjelmose (Lidl-Trek), Krists Neilands (Israel-Premier Tech), Warren Barguil (Arkea-Samsic), Tom Pidcock (Ineos Grenadiers) and Maxime Van Gils (Lotto-Dstny). A counter-attack involved Thibaut Pinot, Valentin Madouas, Stefan Küng (Groupama-FDJ), Rigoberto Uran (EF Education-EasyPost), Chris Harper (Jayco-AlUla), Ion Izagirre (Cofidis) and Kevin Vermaerke (DSM-Firmenich). Pinot made it across by himself on the way up to col de Grosse Pierre eventually crested in first position by Ciccone. It became a group of 10 with 63km to go with Madouas, Uran and Vermaerke reaching the lead after Harper. Ciccone mathematically won the KOM competition at col de la Schlucht 54km before the end.

UAE Team Emirates chased hard at the helm of the main peloton. Up to Petit Ballon, Madouas, Pinot, Ciccone, Pidcock and Barguil got a maximum advantage of 1’30’’ over the yellow jersey group. 5.5km before the summit, Pinot went solo. He crested Petit Ballon alone after being hugely celebrated by his fans for his last mountain stage in the Tour de France. In the yellow jersey group reduced to ten riders, Pogacar attacked for the first time 14km before the end. The trio Pogacar-Vingegaard-Gall passed Pinot, who had been rejoined by Barguil and Pidcock, 3km before the summit of Platzerwasel and went on to contest the stage victory. Simon and Adam Yates caught up with the leading trio with 5km to go. It helped Pogacar win the stage as he received the help of Adam Yates as a lead out man while Simon Yates overtook Rodriguez to reach the fourth place overall.

Complete results:


133.5 kilometers raced at an average speed of 38.640 km/hr

1 Tadej Pogacar UAE Team Emirates 3hr 27min 18sec
2 Felix Gall Ag2r-Citroën @ s.t.
3 Jonas Vingegaard Jumbo-Visma s.t.
4 Simon Yates Jayco-AlUla s.t.
5 Adam Yates UAE Team Emirates 0:07
6 Warren Barguil Arkéa-Samsic 0:33
7 Thibaut Pinot Groupama-FDJ s.t.
8 Pello Bilbao Bahrain Victorious s.t.
9 Tobias Halland Johannessen Uno-X 0:50
10 Rafal Majka UAE Team Emirates s.t.
11 Jai Hindley BORA-hansgrohe s.t.
12 Carlos Rodriguez INEOS Grenadiers 0:52
13 Wout Poels Bahrain Victorious 2:42
14 Nick Schultz Israel-Premier Tech 2:52
15 Dylan Teuns Israel-Premier Tech s.t.
16 Chris Harper Jayco-AlUla 2:54
17 Wilco Kelderman Jumbo-Visma 3:00
18 Tom Pidcock INEOS Grenadiers 3:04
19 Simon Guglielmi Arkéa-Samsic 3:33
20 Guillaume Martin Cofidis s.t.
21 Alex Aranburu Movistar 5:07
22 Rui Costa Intermarché-Circus-Wanty s.t.
23 Kevin Vermaerke Team dsm-firmenich s.t.
24 David Gaudu Groupama-FDJ s.t.
25 Jonas Gregaard Uno-X s.t.
26 Ben O'Connor Ag2r-Citroën 5:09
27 Omar Fraile INEOS Grenadiers s.t.
28 Valentin Madouas Groupama-FDJ 5:12
29 Clément Berthet Ag2r-Citroën 7:26
30 Gregor Mühlberger Movistar s.t.
31 Emanuel Buchmann BORA-hansgrohe s.t.
32 Felix Grossschartner UAE Team Emirates s.t.
33 Mikel Landa Bahrain Victorious 9:36
34 Harold Tejada Astana Qazaqstan s.t.
35 Nans Peters Ag2r-Citroën s.t.
36 Alexey Lutsenko Astana Qazaqstan s.t.
37 Jonathan Castroviejo INEOS Grenadiers s.t.
38 Maxim Van Gils Lotto Dstny s.t.
39 Giulio Ciccone Lidl-Trek 9:44
40 Laurent Pichon Arkéa-Samsic 11:23
41 Quentin Pacher Groupama-FDJ s.t.
42 Matthew Dinham Team dsm-firmenich s.t.
43 Tiesj Benoot Jumbo-Visma s.t.
44 Bob Jungels BORA-hansgrohe 12:27
45 Jack Haig Bahrain Victorious s.t.
46 Chris Hamilton Team dsm-firmenich s.t.
47 Nelson Oliveira Movistar s.t.
48 Hugo Houle Israel-Premier Tech s.t.
49 Clément Champoussin Arkéa-Samsic s.t.
50 Rigoberto Uran EF Education-EasyPost 12:34
51 Egan Bernal INEOS Grenadiers 15:43
52 Stefan Küng Groupama-FDJ 16:38
53 Daniel Oss TotalEnergies s.t.
54 Stan Dewulf Ag2r-Citroën s.t.
55 Valentin Ferron TotalEnergies s.t.
56 Ion Izagirre Cofidis s.t.
57 Mathieu van der Poel Alpecin-Deceuninck s.t.
58 Gorka Izagirre Movistar s.t.
59 Pierre Latour TotalEnergies s.t.
60 Dylan Van Baarle Jumbo-Visma 17:27
61 Christophe Laporte Jumbo-Visma s.t.
62 Nils Politt BORA-hansgrohe 19:11
63 Patrick Konrad BORA-hansgrohe s.t.
64 Matis Louvel Arkéa-Samsic 19:19
65 Mathieu Burgaudeau TotalEnergies s.t.
66 Oliver Naesen Ag2r-Citroën s.t.
67 Vegard Stake Laengen UAE Team Emirates s.t.
68 Lilian Calmejane Intermarché-Circus-Wanty 20:20
69 Mattias Skjelmose Lidl-Trek 20:39
70 Krists Neilands Israel-Premier Tech s.t.
71 Bryan Coquard Cofidis s.t.
72 Tony Gallopin Lidl-Trek s.t.
73 Axel Zingle Cofidis s.t.
74 Fred Wright Bahrain Victorious s.t.
75 Corbin Strong Israel-Premier Tech s.t.
76 Georg Zimmermann Intermarché-Circus-Wanty s.t.
77 Michael Woods Israel-Premier Tech s.t.
78 Tim Declercq Soudal Quick-Step s.t.
79 Anthony Delaplace Arkéa-Samsic s.t.
80 Marco Haller BORA-hansgrohe s.t.
81 Juan Pedro Lopez Lidl-Trek s.t.
82 Alberto Bettiol EF Education-EasyPost s.t.
83 Sepp Kuss Jumbo-Visma s.t.
84 Mikkel Bjerg UAE Team Emirates s.t.
85 Yves Lampaert Soudal Quick-Step s.t.
86 Lawson Craddock Jayco-AlUla s.t.
87 Marc Soler UAE Team Emirates s.t.
88 Christopher Juul-Jensen Jayco-AlUla 20:58
89 Aurélien Paret-Peintre Ag2r-Citroën 22:51
90 Kevin Geniets Groupama-FDJ s.t.
91 Benoît Cosnefroy Ag2r-Citroën s.t.
92 Anthon Charmig Uno-X 23:45
93 Jonas Abrahamsen Uno-X 23:46
94 Edvald Boasson-Hagen TotalEnergies s.t.
95 Torstein Træen Uno-X s.t.
96 Gianni Moscon Astana Qazaqstan 24:34
97 Dries Devenyns Soudal Quick-Step 25:09
98 Luke Durbridge Jayco-AlUla 25:16
99 Julian Alaphilippe Soudal Quick-Step s.t.
100 Neilson Powless EF Education-EasyPost s.t.
101 Magnus Cort EF Education-EasyPost s.t.
102 Florian Vermeersch Lotto Dstny s.t.
103 Andrey Amador EF Education-EasyPost s.t.
104 Peter Sagan TotalEnergies s.t.
105 Michal Kwiatkowski INEOS Grenadiers s.t.
106 Luca Mozzato Arkéa-Samsic s.t.
107 Anthony Turgis TotalEnergies s.t.
108 Remi Cavagna Soudal Quick-Step s.t.
109 Nathan Van Hooydonck Jumbo-Visma 25:30
110 Kasper Asgreen Soudal Quick-Step 29:53
111 Søren Wærenskjold Uno-X 30:02
112 Rasmus Tiller Uno-X s.t.
113 Silvan Dillier Alpecin-Deceuninck s.t.
114 Jenthe Biermans Arkéa-Samsic s.t.
115 Dion Smith Intermarché-Circus-Wanty s.t.
116 Olivier Le Gac Groupama-FDJ s.t.
117 Lars Van Den Berg Groupama-FDJ s.t.
118 Quinten Hermans Alpecin-Deceuninck s.t.
119 Jasper Philipsen Alpecin-Deceuninck s.t.
120 Jasper Stuyven Lidl-Trek s.t.
121 Frederik Frison Lotto Dstny s.t.
122 Victor Campenaerts Lotto Dstny 30:11
123 Jasper De Buyst Lotto Dstny s.t.
124 Danny Van Poppel BORA-hansgrohe 31:25
125 Nils Eekhoff Team dsm-firmenich s.t.
126 Alex Edmondson Team dsm-firmenich s.t.
127 John Degenkolb Team dsm-firmenich s.t.
128 Sam Welsford Team dsm-firmenich s.t.
129 Nikias Arndt Bahrain Victorious s.t.
130 Matteo Trentin UAE Team Emirates s.t.
131 Guillaume Boivin Israel-Premier Tech s.t.
132 Simon Clarke Israel-Premier Tech s.t.
133 Matej Mohoric Bahrain Victorious s.t.
134 Alex Kirsch Lidl-Trek s.t.
135 Mads Pedersen Lidl-Trek s.t.
136 Michael Gogl Alpecin-Deceuninck s.t.
137 Biniam Girmay Intermarché-Circus-Wanty s.t.
138 Pascal Eenkhoorn Lotto Dstny s.t.
139 Michael Mørkøv Soudal Quick-Step s.t.
140 Adrien Petit Intermarché-Circus-Wanty s.t.
141 Mike Teunissen Intermarché-Circus-Wanty s.t.
142 Cees Bol Astana Qazaqstan s.t.
143 Elmar Reinders Jayco-AlUla s.t.
144 Alexander Kristoff Uno-X s.t.
145 Yevgeniy Fedorov Astana Qazaqstan s.t.
146 Jordi Meeus BORA-hansgrohe s.t.
147 Luka Mezgec Jayco-AlUla s.t.
148 Dylan Groenewegen Jayco-AlUla s.t.
149 Søren Kragh Andersen Alpecin-Deceuninck s.t.
150 Jonas Rickaert Alpecin-Deceuninck s.t.


find us on Facebook Find us on Twitter See our youtube channel

The Story of the Giro d'Italia, volume 1 South Salem Cycleworks frames Neugent Cycling Wheels Peaks Coaching: work with a coach! Schwab Cycles Shade Vise sunglass holder Advertise with us!

Content continues below the ads

The Story of the Giro d'Italia, volume 1 South Salem Cycleworks frames Neugent Cycling Wheels

GC after stage 20:

  • GC leader: Jonas Vingegaard (Jumbo-Visma)
  • Mountain classification leader: Giulio Ciccone (Lidl-Trek)
  • Points classification leader: Jasper Philipsen (Alpecin-Deceuninck)
  • Best young rider: Tadej Pogacar (UAE Team Emirates)
  • Teams classification leader: Jumbo-Visma

3,286 kilometers raced so far at an average speed of 41.450 km/hr

1 Jonas Vingegaard Jumbo-Visma 79hr 16min 38sec
2 Tadej Pogacar UAE Team Emirates @ 7min 29sec
3 Adam Yates UAE Team Emirates 10:56
4 Simon Yates Jayco-AlUla 12:23
5 Carlos Rodriguez INEOS Grenadiers 12:57
6 Pello Bilbao Bahrain Victorious 13:27
7 Jai Hindley BORA-hansgrohe 14:44
8 Felix Gall Ag2r-Citroën 16:09
9 David Gaudu Groupama-FDJ 23:08
10 Guillaume Martin Cofidis 26:30
11 Thibaut Pinot Groupama-FDJ 28:03
12 Sepp Kuss Jumbo-Visma 37:32
13 Tom Pidcock INEOS Grenadiers 47:52
14 Rafal Majka UAE Team Emirates 56:09
15 Jonathan Castroviejo INEOS Grenadiers 56:37
16 Chris Harper Jayco-AlUla 57:29
17 Ben O'Connor Ag2r-Citroën 1:04:59
18 Wilco Kelderman Jumbo-Visma 1:06:46
19 Mikel Landa Bahrain Victorious 1:12:41
20 Valentin Madouas Groupama-FDJ 1:14:10
21 Emanuel Buchmann BORA-hansgrohe 1:15:44
22 Warren Barguil Arkéa-Samsic 1:17:06
23 Felix Grossschartner UAE Team Emirates 1:45:21
24 Tiesj Benoot Jumbo-Visma 1:46:55
25 Clément Berthet Ag2r-Citroën 1:50:19
26 Bob Jungels BORA-hansgrohe 1:58:46
27 Wout Poels Bahrain Victorious 2:05:44
28 Jack Haig Bahrain Victorious 2:10:32
29 Mattias Skjelmose Lidl-Trek 2:15:27
30 Tobias Halland Johannessen Uno-X 2:15:33
31 Mathieu Burgaudeau TotalEnergies 2:21:13
32 Giulio Ciccone Lidl-Trek 2:24:29
33 Julian Alaphilippe Soudal Quick-Step 2:25:43
34 Harold Tejada Astana Qazaqstan 2:27:46
35 Dylan Teuns Israel-Premier Tech 2:34:28
36 Egan Bernal INEOS Grenadiers 2:38:16
37 Gorka Izagirre Movistar 2:38:53
38 Hugo Houle Israel-Premier Tech 2:42:05
39 Nick Schultz Israel-Premier Tech 2:43:32
40 Alexey Lutsenko Astana Qazaqstan 2:43:33
41 Kevin Geniets Groupama-FDJ 2:44:14
42 Dylan Van Baarle Jumbo-Visma 2:46:05
43 Jonas Gregaard Uno-X 2:47:07
44 Gregor Mühlberger Movistar 2:49:22
45 Ion Izagirre Cofidis 2:50:09
46 Chris Hamilton Team dsm-firmenich 2:51:00
47 Georg Zimmermann Intermarché-Circus-Wanty 2:54:05
48 Michael Woods Israel-Premier Tech 2:54:47
49 Michal Kwiatkowski INEOS Grenadiers 2:56:08
50 Krists Neilands Israel-Premier Tech 2:56:21
51 Clément Champoussin Arkéa-Samsic 2:58:07
52 Alex Aranburu Movistar 3:02:59
53 Nelson Oliveira Movistar 3:08:26
54 Stefan Küng Groupama-FDJ 3:08:29
55 Marc Soler UAE Team Emirates 3:08:56
56 Aurélien Paret-Peintre Ag2r-Citroën 3:09:31
57 Mathieu van der Poel Alpecin-Deceuninck 3:11:24
58 Matthew Dinham Team dsm-firmenich 3:13:32
59 Maxim Van Gils Lotto Dstny 3:17:49
60 Omar Fraile INEOS Grenadiers 3:19:04
61 Kevin Vermaerke Team dsm-firmenich 3:24:20
62 Nils Politt BORA-hansgrohe 3:28:47
63 Quentin Pacher Groupama-FDJ 3:33:43
64 Victor Campenaerts Lotto Dstny 3:34:58
65 Matis Louvel Arkéa-Samsic 3:36:09
66 Neilson Powless EF Education-EasyPost 3:37:30
67 Rui Costa Intermarché-Circus-Wanty 3:37:37
68 Anthony Delaplace Arkéa-Samsic 3:41:37
69 Simon Guglielmi Arkéa-Samsic 3:41:48
70 Lars Van Den Berg Groupama-FDJ 3:46:03
71 Rigoberto Uran EF Education-EasyPost 3:50:15
72 Matej Mohoric Bahrain Victorious 3:51:05
73 Nans Peters Ag2r-Citroën 3:53:06
74 Juan Pedro Lopez Lidl-Trek 3:54:39
75 Pierre Latour TotalEnergies 3:55:25
76 Oliver Naesen Ag2r-Citroën 3:56:45
77 Lilian Calmejane Intermarché-Circus-Wanty 4:01:43
78 Marco Haller BORA-hansgrohe 4:02:37
79 Jasper Stuyven Lidl-Trek 4:03:24
80 Christophe Laporte Jumbo-Visma 4:05:47
81 Stan Dewulf Ag2r-Citroën 4:07:42
82 Patrick Konrad BORA-hansgrohe 4:07:43
83 Alberto Bettiol EF Education-EasyPost 4:08:58
84 Lawson Craddock Jayco-AlUla 4:12:31
85 Jonas Abrahamsen Uno-X 4:13:32
86 Tony Gallopin Lidl-Trek 4:14:49
87 Kasper Asgreen Soudal Quick-Step 4:15:09
88 Daniel Oss TotalEnergies 4:16:19
89 Valentin Ferron TotalEnergies 4:19:15
90 Corbin Strong Israel-Premier Tech 4:21:21
91 Pascal Eenkhoorn Lotto Dstny 4:21:55
92 Fred Wright Bahrain Victorious 4:22:51
93 Nathan Van Hooydonck Jumbo-Visma 4:24:04
94 Anthony Turgis TotalEnergies 4:24:22
95 Torstein Træen Uno-X 4:26:27
96 Magnus Cort EF Education-EasyPost 4:32:15
97 Jasper Philipsen Alpecin-Deceuninck 4:32:46
98 Bryan Coquard Cofidis 4:33:15
99 Anthon Charmig Uno-X 4:34:51
100 Edvald Boasson-Hagen TotalEnergies 4:37:58
101 Benoît Cosnefroy Ag2r-Citroën 4:39:22
102 Vegard Stake Laengen UAE Team Emirates 4:40:23
103 Mike Teunissen Intermarché-Circus-Wanty 4:41:35
104 Yves Lampaert Soudal Quick-Step 4:42:36
105 Mads Pedersen Lidl-Trek 4:43:50
106 Remi Cavagna Soudal Quick-Step 4:44:01
107 Matteo Trentin UAE Team Emirates 4:44:34
108 Rasmus Tiller Uno-X 4:46:38
109 Simon Clarke Israel-Premier Tech 4:50:33
110 Andrey Amador EF Education-EasyPost 4:54:07
111 Dion Smith Intermarché-Circus-Wanty 4:54:13
112 Luka Mezgec Jayco-AlUla 4:56:32
113 Quinten Hermans Alpecin-Deceuninck 4:58:42
114 Jonas Rickaert Alpecin-Deceuninck 5:00:23
115 Alex Kirsch Lidl-Trek 5:00:55
116 Danny Van Poppel BORA-hansgrohe 5:01:34
117 Christopher Juul-Jensen Jayco-AlUla 5:04:03
118 Tim Declercq Soudal Quick-Step 5:05:18
119 Dries Devenyns Soudal Quick-Step 5:06:37
120 Florian Vermeersch Lotto Dstny 5:06:38
121 Nikias Arndt Bahrain Victorious 5:08:07
122 Søren Kragh Andersen Alpecin-Deceuninck 5:08:38
123 Mikkel Bjerg UAE Team Emirates 5:09:02
124 Laurent Pichon Arkéa-Samsic 5:10:04
125 Biniam Girmay Intermarché-Circus-Wanty 5:10:20
126 Guillaume Boivin Israel-Premier Tech 5:11:01
127 Peter Sagan TotalEnergies 5:14:17
128 Jenthe Biermans Arkéa-Samsic 5:14:24
129 Silvan Dillier Alpecin-Deceuninck 5:15:06
130 Luke Durbridge Jayco-AlUla 5:16:18
131 Olivier Le Gac Groupama-FDJ 5:17:09
132 Luca Mozzato Arkéa-Samsic 5:17:22
133 Michael Gogl Alpecin-Deceuninck 5:19:44
134 Alexander Kristoff Uno-X 5:23:51
135 Gianni Moscon Astana Qazaqstan 5:23:59
136 Jasper De Buyst Lotto Dstny 5:27:04
137 Dylan Groenewegen Jayco-AlUla 5:27:21
138 Nils Eekhoff Team dsm-firmenich 5:33:18
139 Jordi Meeus BORA-hansgrohe 5:33:51
140 Søren Wærenskjold Uno-X 5:33:52
141 Elmar Reinders Jayco-AlUla 5:35:17
142 Axel Zingle Cofidis 5:39:23
143 Adrien Petit Intermarché-Circus-Wanty 5:41:14
144 Sam Welsford Team dsm-firmenich 5:42:20
145 John Degenkolb Team dsm-firmenich 5:44:09
146 Alex Edmondson Team dsm-firmenich 5:44:39
147 Frederik Frison Lotto Dstny 5:54:42
148 Yevgeniy Fedorov Astana Qazaqstan 5:56:37
149 Cees Bol Astana Qazaqstan 5:57:44
150 Michael Mørkøv Soudal Quick-Step 6:07:11


Content continues below the ads

Peaks Coaching: work with a coach! Schwab Cycles

Stage 20 map & profiles

2023 Tour de France stage 20 map

2023 Tour de France stage 20 map

2023 Tour de France stage 20 profile

2023 Tour de France stage 20 profile

Detail profile of stage 20's final climbs

Content continues below the ads

Shade Vise sunglass holder Advertise with us!

Stage 20 photos by Fotoreporter Sirotti:

Jasper Philipsen and Tadej Pogacar before the stage start.

Alex Kirsch signs some autographs.

Here's they come...

Tadej Pogacar takes the stage.

Felix Gall was second.

Adam Yates was fifth.

King of the Mountains Giulio Ciccone finished 39th

Jumbo-Visma teammates Christophe Laporte (left) & Dylan van Baarle finish 60th (Van Baarle) & 61st (Laporte).

Pogacar just after the stage.

Thibaut Pinot won the day's combativity prize.

Stage winner Tadej Pogacar

Points classification leader Jasper Philipsen

Jonas Vingegaard has one more stage to go.

Jonas Vingegaard speaking to the press after the stage.