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 Giro d'Italia

108th edition: May 9 - June 1, 2025
Stage 20, Saturday, May 31

Back to 2025 Giro d'Italia

Saturday, May 31: Stage 20, Verrès - Sestrière (Vialattea), 205 km

Stage 20 map & profile | Stage 20 photos

Chris Harper wins stage 20. Sirotti photo

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
Cycling Heroes: The Golden Years

Les Woodland's book Cycling Heroes: The Golden Years is available in the print, Kindle eBook & audiobook versions. To get your copy, just click on the Amazon link on the right.

Weather at the finish city of Sestrière at 2:30 PM, local time: 19C (67F), partly cloudy, with the wind from the east-southeast at 11 km/hr (6 mph). There is a 30% chance of rain.

The stage: The stage starts flat until the Canavese region, then a series of increasingly tough climbs lead into the Valli di Lanzo. After Viù, the Colle del Lys climb begins. A descent brings riders into the Dora Riparia Valley to Susa, where the Colle delle Finestre (this year’s Cima Coppi) climb begins. The Finestre climb averages a consistent 9.2%, with a 14% ramp in Meana di Susa. The first 9 km are paved; the final 9 km are gravel. There are 29 switchbacks in less than 4 km (45 total). The descent to Pian dell’Alpe is narrow and exposed. The final climb to Sestriere on the SS23 is steady and manageable.

Final kilometers: Final kilometers are all on the SS23, a steady climb at about 5% on a wide, well-paved road. Final straight: 400 m on 6.5-metre-wide asphalt.

The race: Here's the stage 20 report from stage winner Chris Harper's Team Jayco-AlUla.

Australian Chris Harper claimed his maiden Grand Tour stage victory with a long-range and daring solo attack over the Colle delle Finestre on stage 20 of the Giro d’Italia.

The man from Adelaide has been in and amongst the breakaways throughout the brutal final week of racing in Italy and the 30-year-old was finally rewarded for his efforts with his first victory in almost six years.

A large group went clear in the opening kilometres of racing with Harper making it across to the front embedded in one of the several early attacking moves. The gap back to the peloton soon grew out to over eight minutes, with the stage victory seemingly up for grabs for those in the breakaway as the GC contenders marked each other.

The lower slopes of the ominous Colle delle Finestre soon caused damage in the front group, but Harper remained unfazed as he followed the accelerations before making a move of his own with 15km of the climb remaining.

Only one rider could follow his increase in pace, but by the summit the Team Jayco AlUla man was solo, claiming the Cima Coppi prize for his efforts. With just the descent and the climb to Sestrière standing in the way of a memorable stage win, the laidback Aussie kept his cool while the battle for the Maglia Rosa raged on behind him.

In the end Harper was able to enjoy his moment in the spotlight, crossing the line with a smile on his face and his arms in the air after delivering Team Jayco AlUla their second stage win of this year’s Giro d’Italia.

Chris Harper:
“I definitely wasn’t expecting it. I wasn’t sure how it was going to go today as I was up the road yesterday and I didn’t really have the legs. I also thought maybe today would be a big battle with the GC guys and the break wouldn’t arrive anyway. I got away with a big group, and I just tried to be smart. I gave it 100 percent, and I hoped I could hold on.

"It means a lot (to win on the Finestre stage). It’s such a famous climb and I’m pretty proud to win the stage here. It’s a super challenging stage and I’m really happy I could pull it off.

"I felt quite good at the start [of the Giro d’Italia], but unfortunately on that second rest day in the afternoon I started to feel pretty bad and ended up on antibiotics. I decided to try and recover as much as possible once I was off GC, and then the focus was these last mountain stages to try and get into a break and see if I could get a result.

"I asked the car one last time how big the gap was, I knew Simon [Yates] was coming from behind, I wasn’t super confident. Once I got to about 1.5km to go, I knew I could hold on and it was a bit of a relief.”

David McPartland (Sport Director):
"Stage 20 of the Giro, it was always our plan to have one of our three climbers in the break and the boys put Chris in there, and fortunately he was on the super day; he got better and better.

"He's had a bit of illness during the middle part of the Giro and we had to scrap the plans for the GC and move on to chasing stages. It’s quite emotional actually because he's been through a lot of hard times lately with injuries etc and he's absolutely worked his butt off to get back to top form and he deserves this just as much as anyone."

Complete results:

Photos

205 kilometers raced at an average speed of 37.559 km/hr

1 Chris Harper Team Jayco-AlUla 5hr 27min 29sec
2 Alessandro Verre Arkea-B&B Hotels @ 1min 49sec
3 Simon Yates Team Visma | Lease a Bike 1:57
4 Gianmarco Garofoli Soudal Quick-Step 3:52
5 Rémy Rochas Groupama-FDJ 3:57
6 Martin Marcellusi VF Group-Bardiani CSF-Faizanè 4:31
7 Carlos Verona Lidl-Trek s.t.
8 Max Poole Team Picnic PostNL 6:45
9 Isaac del Toro UAE Team Emirates-XRG 7:10
10 Giulio Pellizzari Red Bull-BORA-hansgrohe 7:10
11 Derek Gee Israel-Premier Tech s.t.
12 Damiano Caruso Bahrain Victorious s.t.
13 Richard Carapaz EF Education-EasyPost 7:14
14 Brandon McNulty UAE Team Emirates-XRG 7:17
15 Wout van Aert Team Visma | Lease a Bike 8:02
16 Michael Storer Tudor Pro Cycling Team 8:30
17 Rafal Majka UAE Team Emirates-XRG s.t.
18 Sylvain Moniquet Cofidis 8:58
19 Andrea Vendrame Decathlon AG2R La Mondiale 9:06
20 Adam Yates UAE Team Emirates-XRG 9:06
21 Kevin Geniets Groupama-FDJ 9:21
22 Einer Rubio Movistar Team 9:40
23 Timo Kielich Alpecin-Deceuninck 9:49
24 Egan Bernal INEOS Grenadiers 10:43
25 Romain Bardet Team Picnic PostNL s.t.
26 Pello Bilbao Bahrain Victorious 10:50
27 Jefferson Cepeda Movistar Team 11:02
28 Chris Hamilton Team Picnic PostNL 11:11
29 Lorenzo Fortunato XDS Astana Team 13:31
30 Florian Stork Tudor Pro Cycling Team s.t.
31 Jimmy Janssens Alpecin-Deceuninck 13:42
32 Nicolas Prodhomme Decathlon AG2R La Mondiale 14:36
33 James Knox Soudal Quick-Step s.t.
34 Louis Meintjes Intermarché-Wanty s.t.
35 Gijs Leemreize Team Picnic PostNL s.t.
36 Davide Piganzoli Team Polti-VisitMalta s.t.
37 Quentin Pacher Groupama-FDJ s.t.
38 Kevin Colleoni Intermarché-Wanty 18:23
39 Sergio Samitier Cofidis 19:39
40 Edoardo Zambanini Bahrain Victorious s.t.
41 Steven Kruijswijk Team Visma | Lease a Bike s.t.
42 Tom Pidcock Q36.5 Pro Cycling Team s.t.
43 Mirco Maestri Team Polti-VisitMalta s.t.
44 Embret Svestad-Bårdseng Arkea-B&B Hotels 20:13
45 Quinten Hermans Alpecin-Deceuninck 20:50
46 Wout Poels XDS Astana Team 21:21
47 Diego Ulissi XDS Astana Team s.t.
48 Christian Scaroni XDS Astana Team s.t.
49 Fausto Masnada XDS Astana Team s.t.
50 Daniel Martinez Red Bull-BORA-hansgrohe s.t.
51 Yannis Voisard Tudor Pro Cycling Team s.t.
52 Martin Tjøtta Arkea-B&B Hotels s.t.
53 Enzo Paleni Groupama-FDJ 21:40
54 Kim Heiduk INEOS Grenadiers 21:41
55 Thymen Arensman INEOS Grenadiers s.t.
56 Simon Clarke Israel-Premier Tech 22:59
57 Giovanni Aleotti Red Bull-BORA-hansgrohe 24:31
58 Fran Miholjevic Bahrain Victorious 26:12
59 Bart Lemmen Team Visma | Lease a Bike 27:13
60 Wilco Kelderman Team Visma | Lease a Bike s.t.
61 Lawrence Warbasse Tudor Pro Cycling Team s.t.
62 Marco Frigo Israel-Premier Tech s.t.
63 Manuele Tarozzi VF Group-Bardiani CSF-Faizanè s.t.
64 Igor Arrieta UAE Team Emirates-XRG 27:17
65 Lorenzo Milesi Movistar Team 30:38
66 Alessandro Tonelli Team Polti-VisitMalta s.t.
67 Nairo Quintana Movistar Team s.t.
68 Jonathan Castroviejo INEOS Grenadiers s.t.
69 Simone Petilli Intermarché-Wanty s.t.
70 Nicola Conci XDS Astana Team s.t.
71 Filippo Baroncini UAE Team Emirates-XRG 31:50
72 Mikkel Honore EF Education-EasyPost s.t.
73 Lorenzo Germani Groupama-FDJ s.t.
74 Luca Covili VF Group-Bardiani CSF-Faizanè s.t.
75 James Shaw EF Education-EasyPost s.t.
76 Jan Maas Cofidis 32:13
77 Jon Barrenetxea Movistar Team s.t.
78 Damien Howson Q36.5 Pro Cycling Team s.t.
79 Mark Donovan Q36.5 Pro Cycling Team s.t.
80 David Gaudu Groupama-FDJ 32:44
81 Jacopo Mosca Lidl-Trek 33:41
82 Mads Pedersen Lidl-Trek s.t.
83 Mathias Vacek Lidl-Trek s.t.
84 Nick Schultz Israel-Premier Tech s.t.
85 Francesco Busatto Intermarché-Wanty s.t.
86 Mattia Cattaneo Soudal Quick-Step s.t.
87 Ethan Hayter Soudal Quick-Step s.t.
88 Antonio Tiberi Bahrain Victorious 34:06
89 Patrick Konrad Lidl-Trek s.t.
90 Dorian Godon Decathlon AG2R La Mondiale 34:50
91 Jan Tratnik Red Bull-BORA-hansgrohe 34:55
92 Dries De Bondt Decathlon AG2R La Mondiale 37:19
93 Alexander Cepeda EF Education-EasyPost 37:32
94 Clément Davy Groupama-FDJ 38:41
95 Nicolas Debeaumarché Cofidis s.t.
96 Felix Engelhardt Team Jayco-AlUla s.t.
97 Filippo Zana Team Jayco-AlUla s.t.
98 Michael Hepburn Team Jayco-AlUla s.t.
99 Hugo Houle Israel-Premier Tech s.t.
100 Jakob Fuglsang Israel-Premier Tech s.t.
101 Mattia Bais Team Polti-VisitMalta s.t.
102 Davide Bais Team Polti-VisitMalta s.t.
103 Davide Formolo Movistar Team s.t.
104 Orluis Aular Movistar Team s.t.
105 Darren Rafferty EF Education-EasyPost s.t.
106 Stefano Oldani Cofidis s.t.
107 Davide De Pretto Team Jayco-AlUla s.t.
108 Lucas Hamilton INEOS Grenadiers s.t.
109 Niklas Märkl Team Picnic PostNL s.t.
110 Dylan van Baarle Team Visma | Lease a Bike s.t.
111 Corbin Strong Israel-Premier Tech s.t.
112 Stan Dewulf Decathlon AG2R La Mondiale s.t.
113 Paul Double Team Jayco-AlUla s.t.
114 Owain Doull EF Education-EasyPost s.t.
115 Georg Steinhauser EF Education-EasyPost 38:47
116 Josef Cerný Soudal Quick-Step s.t.
117 Jonathan Lastra Cofidis 39:06
118 Anthony Perez Cofidis s.t.
119 Rick Pluimers Tudor Pro Cycling Team 39:28
120 Ben Turner INEOS Grenadiers 39:42
121 Milan Vader Q36.5 Pro Cycling Team 40:05
122 Emils Liepins Q36.5 Pro Cycling Team s.t.
123 Xabier Azparren Q36.5 Pro Cycling Team s.t.
124 Edward Planckaert Alpecin-Deceuninck 40:10
125 Kaden Groves Alpecin-Deceuninck s.t.
126 Edoardo Affini Team Visma | Lease a Bike 41:08
127 Daan Hoole Lidl-Trek s.t.
128 Enrico Zanoncello VF Group-Bardiani CSF-Faizanè s.t.
129 Filippo Fiorelli VF Group-Bardiani CSF-Faizanè s.t.
130 Luca Mozzato Arkea-B&B Hotels s.t.
131 Giosue Epis Arkea-B&B Hotels s.t.
132 Sven Erik Bystrøm Groupama-FDJ s.t.
133 Laurens Huys Arkea-B&B Hotels s.t.
134 Max Kanter XDS Astana Team s.t.
135 Francisco Muñoz Team Polti-VisitMalta s.t.
136 Gerben Thijssen Intermarché-Wanty s.t.
137 Gijs Van Hoecke Intermarché-Wanty s.t.
138 Giovanni Lonardi Team Polti-VisitMalta s.t.
139 Anton Kuzmin XDS Astana Team s.t.
140 Matevz Govekar Bahrain Victorious s.t.
141 Nico Denz Red Bull-BORA-hansgrohe 41:46
142 Kasper Asgreen EF Education-EasyPost s.t.
143 Sam Bennett Decathlon AG2R La Mondiale 41:59
144 Tord Gudmestad Decathlon AG2R La Mondiale s.t.
145 Andrea Pietrobon Team Polti-VisitMalta 42:21
146 Filippo Magli VF Group-Bardiani CSF-Faizanè s.t.
147 Gianni Moscon Red Bull-BORA-hansgrohe 42:56
148 Albert Torres Movistar Team s.t.
149 Jensen Plowright Alpecin-Deceuninck s.t.
150 Fabio Van den Bossche Alpecin-Deceuninck s.t.
151 Luke Lamperti Soudal Quick-Step 44:01
152 Maikel Zijlaard Tudor Pro Cycling Team s.t.
153 Alexander Krieger Tudor Pro Cycling Team s.t.
154 Simon Guglielmi Arkea-B&B Hotels 44:52
155 Alex Edmondson Team Picnic PostNL 44:55
156 Casper van Uden Team Picnic PostNL s.t.
157 Taco van der Hoorn Intermarché-Wanty s.t.
158 Olav Kooij Team Visma | Lease a Bike s.t.
159 Matteo Moschetti Q36.5 Pro Cycling Team s.t.

 

GC after stage 20:

  • GC leader: Simon Yates (Visma | Lease a Bike)
  • Mountains classification leader: Lorenzo Fortunato (XDS Astana)
  • Points classification leader: Mads Pedersen (Lidl-Trek)
  • Best young rider: Isaac del Toro (UAE Team Emirates-XDS)
  • Teams classificcation leader: UAE Team Emirates-XDS

3,300.3 kilometers raced so far at an average speed of 41.612 km/hr

1 Simon Yates Team Visma | Lease a Bike 79hr 18min 42sec
2 Isaac del Toro UAE Team Emirates-XRG @ 3min 56sec
3 Richard Carapaz EF Education-EasyPost 4:43
4 Derek Gee Israel-Premier Tech 6:23
5 Damiano Caruso Bahrain Victorious 7:32
6 Giulio Pellizzari Red Bull-BORA-hansgrohe 9:28
7 Egan Bernal INEOS Grenadiers 12:42
8 Einer Rubio Movistar Team 13:05
9 Brandon McNulty UAE Team Emirates-XRG 13:36
10 Michael Storer Tudor Pro Cycling Team 14:27
11 Max Poole Team Picnic PostNL 18:15
12 Adam Yates UAE Team Emirates-XRG 21:43
13 Rafal Majka UAE Team Emirates-XRG 23:46
14 Davide Piganzoli Team Polti-VisitMalta 27:53
15 Nicolas Prodhomme Decathlon AG2R La Mondiale 35:25
16 Tom Pidcock Q36.5 Pro Cycling Team 43:33
17 Antonio Tiberi Bahrain Victorious 46:04
18 Louis Meintjes Intermarché-Wanty 52:03
19 James Knox Soudal Quick-Step 56:35
20 Florian Stork Tudor Pro Cycling Team 58:53
21 Diego Ulissi XDS Astana Team 1:05:07
22 Embret Svestad-Bårdseng Arkea-B&B Hotels 1:06:40
23 Chris Harper Team Jayco-AlUla 1:12:46
24 Lorenzo Fortunato XDS Astana Team 1:22:09
25 Nairo Quintana Movistar Team 1:23:09
26 Romain Bardet Team Picnic PostNL 1:23:15
27 Edoardo Zambanini Bahrain Victorious 1:25:59
28 Marco Frigo Israel-Premier Tech 1:32:20
29 Thymen Arensman INEOS Grenadiers 1:34:54
30 Pello Bilbao Bahrain Victorious 1:51:13
31 Gianmarco Garofoli Soudal Quick-Step 1:53:53
32 Jefferson Cepeda Movistar Team 1:56:11
33 Yannis Voisard Tudor Pro Cycling Team 1:56:21
34 Kevin Geniets Groupama-FDJ 1:56:33
35 Andrea Vendrame Decathlon AG2R La Mondiale 1:59:53
36 Wilco Kelderman Team Visma | Lease a Bike 2:00:11
37 Igor Arrieta UAE Team Emirates-XRG 2:00:15
38 Steven Kruijswijk Team Visma | Lease a Bike 2:04:24
39 Rémy Rochas Groupama-FDJ 2:09:52
40 Christian Scaroni XDS Astana Team 2:11:13
41 Fausto Masnada XDS Astana Team 2:12:40
42 Bart Lemmen Team Visma | Lease a Bike 2:19:58
43 Gijs Leemreize Team Picnic PostNL 2:20:11
44 Chris Hamilton Team Picnic PostNL 2:21:50
45 Damien Howson Q36.5 Pro Cycling Team 2:22:41
46 Mattia Cattaneo Soudal Quick-Step 2:23:20
47 Davide Formolo Movistar Team 2:23:27
48 Alessandro Tonelli Team Polti-VisitMalta 2:23:48
49 Alexander Cepeda EF Education-EasyPost 2:25:20
50 Martin Tjøtta Arkea-B&B Hotels 2:25:30
51 Wout Poels XDS Astana Team 2:25:36
52 Sergio Samitier Cofidis 2:28:09
53 Daniel Martinez Red Bull-BORA-hansgrohe 2:29:40
54 Carlos Verona Lidl-Trek 2:30:20
55 Mark Donovan Q36.5 Pro Cycling Team 2:37:39
56 Nicola Conci XDS Astana Team 2:39:49
57 Mathias Vacek Lidl-Trek 2:42:10
58 Filippo Zana Team Jayco-AlUla 2:43:24
59 Giovanni Aleotti Red Bull-BORA-hansgrohe 2:44:16
60 Jonathan Castroviejo INEOS Grenadiers 2:44:39
61 Simone Petilli Intermarché-Wanty 2:46:21
62 Hugo Houle Israel-Premier Tech 2:52:09
63 Lorenzo Germani Groupama-FDJ 2:54:25
64 Quentin Pacher Groupama-FDJ 2:59:03
65 David Gaudu Groupama-FDJ 3:03:10
66 Jonathan Lastra Cofidis 3:04:36
67 Stefano Oldani Cofidis 3:07:43
68 Lawrence Warbasse Tudor Pro Cycling Team 3:10:00
69 Luca Covili VF Group-Bardiani CSF-Faizanè 3:10:35
70 Mattia Bais Team Polti-VisitMalta 3:11:07
71 Sylvain Moniquet Cofidis 3:15:13
72 Wout van Aert Team Visma | Lease a Bike 3:16:27
73 Patrick Konrad Lidl-Trek 3:16:52
74 Martin Marcellusi VF Group-Bardiani CSF-Faizanè 3:18:09
75 Georg Steinhauser EF Education-EasyPost 3:22:54
76 James Shaw EF Education-EasyPost 3:25:43
77 Davide De Pretto Team Jayco-AlUla 3:28:54
78 Filippo Baroncini UAE Team Emirates-XRG 3:30:26
79 Mikkel Honore EF Education-EasyPost 3:33:33
80 Milan Vader Q36.5 Pro Cycling Team 3:34:38
81 Jakob Fuglsang Israel-Premier Tech 3:35:20
82 Felix Engelhardt Team Jayco-AlUla 3:37:17
83 Jan Tratnik Red Bull-BORA-hansgrohe 3:37:31
84 Quinten Hermans Alpecin-Deceuninck 3:40:12
85 Dorian Godon Decathlon AG2R La Mondiale 3:40:14
86 Timo Kielich Alpecin-Deceuninck 3:45:08
87 Darren Rafferty EF Education-EasyPost 3:51:51
88 Lorenzo Milesi Movistar Team 3:54:04
89 Filippo Fiorelli VF Group-Bardiani CSF-Faizanè 4:00:39
90 Mads Pedersen Lidl-Trek 4:00:39
91 Manuele Tarozzi VF Group-Bardiani CSF-Faizanè 4:00:44
92 Jon Barrenetxea Movistar Team 4:02:34
93 Simon Guglielmi Arkea-B&B Hotels 4:02:45
94 Mirco Maestri Team Polti-VisitMalta 4:02:46
95 Dylan van Baarle Team Visma | Lease a Bike 4:06:25
96 Corbin Strong Israel-Premier Tech 4:07:26
97 Davide Bais Team Polti-VisitMalta 4:15:20
98 Fabio Van den Bossche Alpecin-Deceuninck 4:16:17
99 Paul Double Team Jayco-AlUla 4:16:30
100 Francesco Busatto Intermarché-Wanty 4:17:40
101 Alessandro Verre Arkea-B&B Hotels 4:21:34
102 Orluis Aular Movistar Team 4:22:20
103 Edward Planckaert Alpecin-Deceuninck 4:22:44
104 Lucas Hamilton INEOS Grenadiers 4:24:28
105 Nick Schultz Israel-Premier Tech 4:29:38
106 Kevin Colleoni Intermarché-Wanty 4:30:00
107 Rick Pluimers Tudor Pro Cycling Team 4:30:38
108 Kaden Groves Alpecin-Deceuninck 4:31:40
109 Laurens Huys Arkea-B&B Hotels 4:34:06
110 Owain Doull EF Education-EasyPost 4:37:02
111 Enzo Paleni Groupama-FDJ 4:38:05
112 Stan Dewulf Decathlon AG2R La Mondiale 4:40:33
113 Fran Miholjevic Bahrain Victorious 4:45:16
114 Simon Clarke Israel-Premier Tech 4:45:59
115 Kim Heiduk INEOS Grenadiers 4:46:33
116 Kasper Asgreen EF Education-EasyPost 4:47:04
117 Filippo Magli VF Group-Bardiani CSF-Faizanè 4:48:45
118 Jimmy Janssens Alpecin-Deceuninck 4:50:32
119 Daan Hoole Lidl-Trek 4:56:19
120 Ben Turner INEOS Grenadiers 5:03:14
121 Nico Denz Red Bull-BORA-hansgrohe 5:04:06
122 Gianni Moscon Red Bull-BORA-hansgrohe 5:05:00
123 Anthony Perez Cofidis 5:05:23
124 Max Kanter XDS Astana Team 5:05:26
125 Xabier Azparren Q36.5 Pro Cycling Team 5:08:41
126 Jacopo Mosca Lidl-Trek 5:09:58
127 Albert Torres Movistar Team 5:10:24
128 Dries De Bondt Decathlon AG2R La Mondiale 5:12:10
129 Giovanni Lonardi Team Polti-VisitMalta 5:20:03
130 Sven Erik Bystrøm Groupama-FDJ 5:23:13
131 Emils Liepins Q36.5 Pro Cycling Team 5:23:42
132 Josef Cerný Soudal Quick-Step 5:24:51
133 Edoardo Affini Team Visma | Lease a Bike 5:29:17
134 Tord Gudmestad Decathlon AG2R La Mondiale 5:30:00
135 Giosue Epis Arkea-B&B Hotels 5:31:00
136 Ethan Hayter Soudal Quick-Step 5:31:39
137 Andrea Pietrobon Team Polti-VisitMalta 5:31:50
138 Clément Davy Groupama-FDJ 5:32:29
139 Jan Maas Cofidis 5:33:15
140 Luca Mozzato Arkea-B&B Hotels 5:33:26
141 Nicolas Debeaumarché Cofidis 5:33:49
142 Michael Hepburn Team Jayco-AlUla 5:37:01
143 Matevz Govekar Bahrain Victorious 5:38:24
144 Anton Kuzmin XDS Astana Team 5:40:22
145 Francisco Muñoz Team Polti-VisitMalta 5:41:19
146 Sam Bennett Decathlon AG2R La Mondiale 5:41:25
147 Luke Lamperti Soudal Quick-Step 5:41:38
148 Alex Edmondson Team Picnic PostNL 5:42:17
149 Olav Kooij Team Visma | Lease a Bike 5:45:47
150 Casper van Uden Team Picnic PostNL 5:48:34
151 Enrico Zanoncello VF Group-Bardiani CSF-Faizanè 5:51:33
152 Gijs Van Hoecke Intermarché-Wanty 5:55:21
153 Matteo Moschetti Q36.5 Pro Cycling Team 5:55:39
154 Maikel Zijlaard Tudor Pro Cycling Team 5:56:04
155 Taco van der Hoorn Intermarché-Wanty 5:56:29
156 Niklas Märkl Team Picnic PostNL 5:59:46
157 Gerben Thijssen Intermarché-Wanty 6:04:31
158 Jensen Plowright Alpecin-Deceuninck 6:05:44
159 Alexander Krieger Tudor Pro Cycling Team 6:23:10

 


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

Here's a detail profile of the Colle delle Finestre


Content continues below the ads

Advertise with us!

Stage 20 photos: As it happened | By Photoreporter Sirotti

Stage 20 as it happened:

GC leader Isaac del Toro before the stage start. RCS photo

Stage 20 gets rolling. RCS photo

About km 115: Dense tree cover on the Colle del Lys. RCS Photo

The peloton about to hit the Colle delle Fenestre, which should decide the 2025 Giro d'Italia.

Wow! The GC top three (Carapaz, del Toro & Yates) duking it out on the Finestre.

On the Colle delle Finestre Simon Yates attacks Richard Carapaz & Isaac del Toro. Near the summit he was 1min 40sec ahead of Carapaz & del Toro and I believe the virtual Maglia Rosa.

Brilliant! Simon Yates bridges up to teammate Wout van Aert, who had gone off the front earlier, probably in anticipation of just this move. Del Toro is two minutes back and chasing with little determination.

Isaac del Toro & Richard Carapaz on the gravel section of the Finestre climb. Carapaz tried to get del Toro to work with him in an active chase of the rapidly escaping Simon Yates, but del Toro was content to ride negatively, only marking Carapaz when he accelerated. His reward for this will probably be the privilege of handing the Maglia Rosa over to Yates.

10 kilometers to go. Simon Yates is alone and five and a half minutes ahead of Isaac del Toro and Richard Carapaz. He has a pink jersey waiting for him when he finishes the stage. RCS photo

Chris Harper wins stage 20.

Simon Yates' third-place finish is more than good enough to make him the new race leader and barring castrophe, winner of the 2025 Giro d'Italia.

Stage 20 photos by Fotoreporter Sirotti:

A beautiful day in the mountains.

The day's break

Chris Harper wins the stage.

Alessandro Verre finishes second.

Simon Yates finishes third, good enough to take over the Maglia Rosa.

Gianmarco Garofoli was fourth

Rémy Rochas was fifth

Isaac del Toro's last moments in pink. He finished ninth, at 7 minutes, 10 seconds.

Richard Carapaz finsihed 13th, moving him down to third in the GC.

Stage winner Chris Harper

Barring catastrophe in stage 21, Simon Yates has won the 2025 Giro d'Italia