Giro d'Italia
Stage 20: Verrès - Sestriere
Italy
Saturday 31 May 2025
203 km
Il Giro: Garofoli impresses on Cima Coppi

Gianmarco Garofoli rode to a remarkable top five on the penultimate day of the Giro d’Italia – his best result in a Grand Tour – at the end of a brutal day of racing, with four classified climbs and 4400 vertical meters. The stage had all the ingredients to be a thriller, and the 22-year-old Italian – who on Saturday announced his contract extension with Soudal Quick-Step – ended up being in the spotlight
Colle delle Finestre, which has achieved mythical status despite having been discovered by the Corsa Rosa just two decades ago, was this year’s Cima Coppi and the biggest hurdle of the day, an 18km beast with double-digit gradients and unsurfaced roads that seriously whittle down both the breakaway and the peloton. Soudal Quick-Step had both Gianmarco and Ethan Hayter in the leading group, which started the fearsome climb with a massive ten-minute advantage.
When the race splintered, Garo found himself in the first chasing group, pacing his effort smartly and not wasting energy by going over the limit, especially on the steepest part of the ascent. Soudal Quick-Step’s Italian crested the top in third place and recovered a bit on the downhill before being joined by a small GC group. On the climb to Sestriere, gaps were made again, and Gianmarco dug deep to finish the stage won by Chris Harper (Jayco-AlUla) ahead of the favourites’ group and take a well-deserved fourth place.
Today was a very tough day.
“If you had asked me this morning about my chances of getting a good result, I wouldn’t have said I can take a top five. The crashes in which I have been involved these weeks and the pain I had in the back stopped me from pushing really hard, and at one point I thought about retiring, but I continued to believe in my dream of winning a stage and managed to overcome all these setbacks.”
“I didn’t feel good today, but I tried to get in the breakaway, and with each kilometer spent there, my confidence grew and the pain was slowly going away. This fourth place is the maximum I could get in these conditions. I know it’s now a victory, but I showed again that I’m a fighter and I never give up. I will return here and I’m sure that one day I will get my stage win at the Giro d’Italia”, said Gianmarco after his best ever result in a Grand Tour.
Photo credit: ©Tim De Waele / Getty Images
Race details
1 |
Chris Harper Team Jayco AlUla |
5:27:29 |
2 |
Alessandro Verre |
1:49 |
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 Quintanilla Lidl - Trek |
4:31 |
8 |
Max Poole Team Picnic PostNL |
6:45 |
9 |
Isaac del Toro Romero UAE Team Emirates - XRG |
7:10 |
10 |
Giulio Pellizzari Red Bull - BORA - hansgrohe |
7:10 |
33 |
James Knox
Soudal Quick-Step |
14:36 |
86 |
Mattia Cattaneo
Soudal Quick-Step |
33:41 |
87 |
Ethan Hayter
Soudal Quick-Step |
33:41 |
116 |
Josef Černý
Soudal Quick-Step |
38:47 |
151 |
Luke Lamperti
Soudal Quick-Step |
44:01 |
1 |
Simon Yates Team Visma | Lease a Bike |
79:18:42 |
2 |
Isaac del Toro Romero UAE Team Emirates - XRG |
3:56 |
3 |
Richard Carapaz Montenegro 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 Gómez INEOS Grenadiers |
12:42 |
8 |
Einer Rubio Reyes Movistar Team |
13:05 |
9 |
Brandon McNulty UAE Team Emirates - XRG |
13:36 |
10 |
Michael Storer Tudor Pro Cycling Team |
14:27 |
19 |
James Knox
Soudal Quick-Step |
56:35 |
31 |
Gianmarco Garofoli
Soudal Quick-Step |
1:53:53 |
46 |
Mattia Cattaneo
Soudal Quick-Step |
2:23:20 |
132 |
Josef Černý
Soudal Quick-Step |
5:24:51 |
136 |
Ethan Hayter
Soudal Quick-Step |
5:31:39 |
147 |
Luke Lamperti
Soudal Quick-Step |
5:41:38 |
1 |
Mads Pedersen Lidl - Trek |
277 pt |
2 |
Olav Kooij Team Visma | Lease a Bike |
135 pt |
3 |
Wout van Aert Team Visma | Lease a Bike |
127 pt |
4 |
Dries De Bondt Decathlon AG2R La Mondiale Team |
119 pt |
5 |
Isaac del Toro Romero UAE Team Emirates - XRG |
109 pt |
6 |
Casper van Uden Team Picnic PostNL |
88 pt |
7 |
Richard Carapaz Montenegro EF Education - EasyPost |
77 pt |
8 |
Alessandro Tonelli Team Polti VisitMalta |
76 pt |
9 |
Mirco Maestri Team Polti VisitMalta |
72 pt |
10 |
Orluis Aular Sanabria Movistar Team |
68 pt |
30 |
Gianmarco Garofoli
Soudal Quick-Step |
29 pt |
33 |
Mattia Cattaneo
Soudal Quick-Step |
26 pt |
74 |
Ethan Hayter
Soudal Quick-Step |
12 pt |
85 |
Josef Černý
Soudal Quick-Step |
8 pt |
103 |
Luke Lamperti
Soudal Quick-Step |
3 pt |
1 |
Lorenzo Fortunato XDS Astana Team |
355 pt |
2 |
Christian Scaroni XDS Astana Team |
201 pt |
3 |
Nicolas Prodhomme Decathlon AG2R La Mondiale Team |
107 pt |
4 |
Manuele Tarozzi VF Group - Bardiani CSF - Faizanè |
87 pt |
5 |
Carlos Verona Quintanilla Lidl - Trek |
61 pt |
6 |
Chris Harper Team Jayco AlUla |
60 pt |
7 |
Richard Carapaz Montenegro EF Education - EasyPost |
47 pt |
8 |
Romain Bardet Team Picnic PostNL |
47 pt |
9 |
Isaac del Toro Romero UAE Team Emirates - XRG |
45 pt |
10 |
Pello Bilbao López de Armentia Bahrain - Victorious |
42 pt |
16 |
Gianmarco Garofoli
Soudal Quick-Step |
30 pt |
25 |
Mattia Cattaneo
Soudal Quick-Step |
19 pt |
1 |
Isaac del Toro Romero UAE Team Emirates - XRG |
79:22:38 |
2 |
Giulio Pellizzari Red Bull - BORA - hansgrohe |
5:32 |
3 |
Max Poole Team Picnic PostNL |
14:19 |
4 |
Davide Piganzoli Team Polti VisitMalta |
23:57 |
5 |
Antonio Tiberi Bahrain - Victorious |
42:08 |
6 |
Embret Svestad-Bårdseng |
1:02:44 |
7 |
Edoardo Zambanini Bahrain - Victorious |
1:22:03 |
8 |
Marco Frigo Israel - Premier Tech |
1:28:24 |
9 |
Gianmarco Garofoli
Soudal Quick-Step |
1:49:57 |
10 |
Igor Arrieta Lizarraga UAE Team Emirates - XRG |
1:56:19 |
34 |
Luke Lamperti
Soudal Quick-Step |
5:37:42 |
1 | UAE Team Emirates - XRG | 238:16:27 |
2 | Bahrain - Victorious | 58:40 |
3 | Team Visma | Lease a Bike | 1:15:37 |
4 | XDS Astana Team | 1:46:40 |
5 | Tudor Pro Cycling Team | 1:52:53 |
6 | Movistar Team | 1:52:56 |
7 | Team Picnic PostNL | 2:25:21 |
8 | Red Bull - BORA - hansgrohe | 2:52:52 |
9 | Israel - Premier Tech | 3:06:01 |
10 | INEOS Grenadiers | 3:09:08 |