BikeRaceInfo: Current and historical race results, plus interviews, bikes, travel, and cycling history

find us on Facebook Find us on Twitter See our youtube channel The Story of the Tour de France, volume 1 South Salem Cycleworks frames Melanoma: It Started With a Freckle Peaks Coaching: work with a coach! Neugent Cycling Wheels Shade Vise sunglass holder Advertise with us!

Search our site:
Email Newsletter icon, E-mail Newsletter icon, Email List icon, E-mail List icon Sign up for our Email Newsletter

2021 Giro d'Italia

104th edition: May 8 - 30, 2021
Stage 20: May 29, 2021

Back to 2021 Giro d'Italia

Saturday, May 29: Stage 20, Verbania - Valle Spluga/Alpe Motta, 164 km.

Stage 20 map & profile | Stage 20 photos

Damiano Caruso

Damiano Caruso takes the stage and 30 seconds from Bernal's lead. RCS Sport photo

Weather at the city of Madesimo, on the route, 2.5 kilometers from the finish: 12C (54F), mostly cloudy, with the wind from the north at 14 km/hr (9 mph). There is a 9% chance of rain.

The race: Today's route takes the riders into the Swiss Canton of Ticino for 112.8 kilometers.

Stage 20 start

Time to head into the mountains for the last time this Giro. RCS Sport photo

143 riders began today's stage at 12:34 PM. There was one non-starter, Fabio Felline (Astana).

Here's the stage 20 report from GC leader Egan Bernal's INEOS Grenadiers team:

Egan Bernal and the INEOS Grenadiers put up a robust defence of the maglia rosa on the final day in the mountains at the Giro d'Italia.

Bernal crossed the line in second place on the Alpe Motta summit, just 24 seconds back on nearest rival Damiano Caruso. That means the Colombian takes an advantage of 1:59 into Sunday's final time trial in Milan.

The team worked tirelessly to support Bernal on the day, spreading their resources across the mountainous stage, and refusing to panic after Caruso attacked following the first of three climbs.

After early work from Filippo Ganna, Salvatore Puccio and Gianni Moscon were forced into action as Caruso went clear alongside Romain Bardet on the long descent off the Passo San Bernadino.

Jhonatan Narvaez took it up before Jonathan Castroviejo put in yet another impressive turn on the Splugenpass. Only an elite GC group remained, with the gap to Caruso pegged at 40 seconds by controlled riding.

Bernal looked comfortable and on the final climb Daniel Martinez pushed hard, cutting the gap and eventually distancing third-placed Simon Yates. Martinez was even able to finish third on the day, moving up to sixth overall on the GC.
Egan Bernal

"I’m very satisfied with the result. We managed the situation well. Finally we have two minutes of an advantage for tomorrow’s time trial. We are in a good position.

"It’s not the best (situation) to have the second in the GC in front of you with almost one minute, but I still had three teammates and I tried to use them, and just arrive as fresh as possible in the last climb, and also for tomorrow. We managed well the situation but it was difficult."

Complete results:

Stage 20 photos

164 kilometers raced at an average speed of 36.732 km/hr

1 Damiano Caruso Bahrain Victorious 4hr 27min 53sec
2 Egan Bernal INEOS Grenadiers @ 24sec
3 Daniel Martinez INEOS Grenadiers 0:35
4 Romain Bardet Team DSM s.t.
5 Joao Almeida Deceuninck-Quick Step 0:41
6 Simon Yates Team BikeExchange 0:51
7 Aleksandr Vlasov Astana-Premier Tech 1:13
8 Hugh Carthy EF Education-Nippo 1:29
9 Lorenzo Fortunato Eolo-Kometa 2:07
10 Antonio Pedrero Movistar 2:23
11 Jan Hirt Intermarché-Wanty-Gobert Matériaux s.t.
12 Tobias Foss Jumbo-Visma 2:37
13 Koen Bouwman Jumbo-Visma s.t.
14 Daniel Martin Israel Start-Up Nation 3:10
15 George Bennett Jumbo-Visma 3:42
16 Vadim Pronskiy Astana-Premier Tech 3:42
17 Pello Bilbao Bahrain Victorious 4:08
18 Einer Rubio Movistar 4:10
19 Harold Tejada Astana-Premier Tech 4:44
20 Felix Grossschartner Bora-hansgrohe 5:29
21 Mikel Nieve Team BikeExchange 6:01
22 Davide Formolo UAE Team Emirates 6:25
23 Dario Cataldo Movistar 6:41
24 Michael Storer Team DSM 6:46
25 Attila Valter Groupama-FDJ 6:50
26 Matteo Fabbro Bora-hansgrohe s.t.
27 Simone Petilli Intermarché-Wanty-Gobert Matériaux 6:55
28 Geoffrey Bouchard Ag2r-Citroën 6:56
29 Matteo Badilatti Groupama-FDJ 7:00
30 Eduardo Sepulveda Androni Giocattoli-Sidermec 7:33
31 Diego Ulissi UAE Team Emirates 8:02
32 Mauro Schmid Qhubeka-Assos s.t.
33 James Knox Deceuninck-Quick Step s.t.
34 Louis Vervaeke Alpecin-Fenix 8:15
35 Jonathan Castroviejo INEOS Grenadiers 8:18
36 Edward Ravasi Eolo-Kometa 9:05
37 Giovanni Carboni Bardiani CSF Faizanè 12:28
38 Vincenzo Nibali Trek-Segafredo 13:42
39 Bauke Mollema Trek-Segafredo s.t.
40 Alessandro Covi UAE Team Emirates s.t.
41 Rudy Molard Groupama-FDJ s.t.
42 Pieter Serry Deceuninck-Quick Step s.t.
43 Luis Sanchez Astana-Premier Tech s.t.
44 Gorka Izagirre Astana-Premier Tech s.t.
45 Tanel Kangert Team BikeExchange s.t.
46 Lawrence Warbasse Ag2r-Citroën 14:00
47 Francesco Gavazzi Eolo-Kometa 14:18
48 Jimmy Janssens Alpecin-Fenix 14:30
49 Simon Guglielmi Groupama-FDJ 14:53
50 Davide Villella Movistar 14:55
51 Quinten Hermans Intermarché-Wanty-Gobert Matériaux 17:58
52 Senne Leysen Alpecin-Fenix s.t.
53 Guy Niv Israel Start-Up Nation s.t.
54 Jhonnatan Narvaez INEOS Grenadiers s.t.
55 Simon Pellaud Androni Giocattoli-Sidermec s.t.
56 Gianni Moscon INEOS Grenadiers 18:01
57 Kilian Frankiny Qhubeka-Assos 18:47
58 Valerio Conti UAE Team Emirates 20:13
59 Nelson Oliveira Movistar 22:06
60 Matteo Sobrero Astana-Premier Tech s.t.
61 Patrick Bevin Israel Start-Up Nation 22:10
62 Romain Seigle Groupama-FDJ 22:18
63 Alberto Bettiol EF Education-Nippo 24:06
64 Jan Tratnik Bahrain Victorious s.t.
65 Paul Martens Jumbo-Visma 24:25
66 Jens Keukeleire EF Education-Nippo 24:59
67 Simon Carr EF Education-Nippo s.t.
68 Matteo Jorgenson Movistar s.t.
69 Chris Hamilton Team DSM 25:38
70 Andrea Pasqualon Intermarché-Wanty-Gobert Matériaux 26:43
71 Simone Ravanelli Androni Giocattoli-Sidermec s.t.
72 Christopher Juul-Jensen Team BikeExchange 27:09
73 Salvatore Puccio INEOS Grenadiers 27:55
74 Filippo Zana Bardiani CSF Faizanè 28:25
75 Alexis Gougeard Ag2r-Citroën s.t.
76 Tony Gallopin Ag2r-Citroën s.t.
77 Andrea Vendrame Ag2r-Citroën s.t.
78 Marton Dina Eolo-Kometa 29:50
79 Vincenzo Albanese Eolo-Kometa s.t.
80 Giovanni Aleotti Bora-hansgrohe 31:17
81 Samuele Battistella Astana-Premier Tech s.t.
82 Yukiya Arashiro Bahrain Victorious s.t.
83 Rafael Valls Bahrain Victorious s.t.
84 Filippo Fiorelli Bardiani CSF Faizanè s.t.
85 Enrico Battaglin Bardiani CSF Faizanè s.t.
86 Giovanni Visconti Bardiani CSF Faizanè s.t.
87 Bert-Jan Lindeman Qhubeka-Assos s.t.
88 Gianni Vermeersch Alpecin-Fenix s.t.
89 Iljo Keisse Deceuninck-Quick Step 31:37
90 Antoine Duchesne Groupama-FDJ s.t.
91 Lars van den Berg Groupama-FDJ s.t.
92 Mark Christian Eolo-Kometa s.t.
93 Cesare Benedetti Bora-hansgrohe 31:39
94 Andrii Ponomar Androni Giocattoli-Sidermec s.t.
95 Davide Gabburo Bardiani CSF Faizanè s.t.
96 Oscar Riesebeek Alpecin-Fenix s.t.
97 Nico Denz Team DSM 32:05
98 Nikias Arndt Team DSM s.t.
99 Koen de Kort Trek-Segafredo 32:48
100 Taco van der Hoorn Intermarché-Wanty-Gobert Matériaux s.t.
101 Nicolas Roche Team DSM 32:58
102 Amanuel Gebreigzabhier Trek-Segafredo 33:29
103 Natnael Tesfazion Androni Giocattoli-Sidermec s.t.
104 Tejay van Garderen EF Education-Nippo 33:45
105 Stefano Oldani Lotto Soudal 34:07
106 Michael Hepburn Team BikeExchange 34:17
107 Callum Scotson Team BikeExchange s.t.
108 Max Kanter Team DSM 34:18
109 Mikkel Honore Deceuninck-Quick Step 34:47
110 Julius van den Berg EF Education-Nippo 35:18
111 Daniel Oss Bora-hansgrohe 35:38
112 Fabio Sabatini Cofidis 37:36
113 Riccardo Minali Intermarché-Wanty-Gobert Matériaux s.t.
114 Lawrence Naesen Ag2r-Citroën s.t.
115 Nicola Venchiarutti Androni Giocattoli-Sidermec s.t.
116 Dries de Bondt Alpecin-Fenix s.t.
117 Umberto Marengo Bardiani CSF Faizanè s.t.
118 Jacopo Mosca Trek-Segafredo s.t.
119 Matteo Moschetti Trek-Segafredo s.t.
120 Attilio Viviani Cofidis s.t.
121 Filippo Tagliani Androni Giocattoli-Sidermec s.t.
122 Samuele Zoccarato Bardiani CSF Faizanè s.t.
123 Rein Taaramae Intermarché-Wanty-Gobert Matériaux 37:42
124 Elia Viviani Cofidis 37:47
125 Fernando Gaviria UAE Team Emirates s.t.
126 Lukasz Wisniowski Qhubeka-Assos s.t.
127 Wesley Kreder Intermarché-Wanty-Gobert Matériaux s.t.
128 Edoardo Affini Jumbo-Visma s.t.
129 Remi Cavagna Deceuninck-Quick Step 37:53
130 Simone Consonni Cofidis 38:05
131 Filippo Ganna INEOS Grenadiers s.t.
132 Maximiliano Richeze UAE Team Emirates s.t.
133 Sebastian Molano UAE Team Emirates s.t.
134 Max Walscheid Qhubeka-Assos s.t.
135 Alexander Krieger Alpecin-Fenix s.t.
136 Harm Vanhoucke Lotto Soudal s.t.
137 Matthias Brandle Israel Start-Up Nation s.t.
138 Cameron Meyer Team BikeExchange s.t.
139 Samuele Rivi Eolo-Kometa s.t.
140 Albert Torres Movistar 38:09
141 Maciej Bodnar Bora-hansgrohe 38:21
142 Peter Sagan Bora-hansgrohe s.t.
143 Davide Cimolai Israel Start-Up Nation s.t.

GC after stage 20:

3,387.1 kilometers raced so far at an average speed of 39.524 km/hr

1 Egan Bernal INEOS Grenadiers 85hr 41min 47sec
2 Damiano Caruso Bahrain Victorious @ 1min 59sec
3 Simon Yates Team BikeExchange 3:23
4 Aleksandr Vlasov Astana-Premier Tech 7:07
5 Romain Bardet Team DSM 7:48
6 Daniel Martinez INEOS Grenadiers 7:56
7 Hugh Carthy EF Education-Nippo 8:22
8 Joao Almeida Deceuninck-Quick Step 8:50
9 Tobias Foss Jumbo-Visma 12:39
10 Daniel Martin Israel Start-Up Nation 16:48
11 George Bennett Jumbo-Visma 24:55
12 Koen Bouwman Jumbo-Visma 31:04
13 Pello Bilbao Bahrain Victorious 36:11
14 Lorenzo Fortunato Eolo-Kometa 44:09
15 Attila Valter Groupama-FDJ 44:51
16 Davide Formolo UAE Team Emirates 47:24
17 Diego Ulissi UAE Team Emirates 57:01
18 Vincenzo Nibali Trek-Segafredo 1:03:27
19 Louis Vervaeke Alpecin-Fenix 1:03:29
20 Gorka Izagirre Astana-Premier Tech 1:03:54
21 Antonio Pedrero Movistar 1:05:25
22 Tanel Kangert Team BikeExchange 1:05:57
23 Jonathan Castroviejo INEOS Grenadiers 1:18:12
24 Mikel Nieve Team BikeExchange 1:18:20
25 Gianni Moscon INEOS Grenadiers 1:19:26
26 Jan Hirt Intermarché-Wanty-Gobert Matériaux 1:31:13
27 Bauke Mollema Trek-Segafredo 1:34:50
28 Nelson Oliveira Movistar 1:35:52
29 Francesco Gavazzi Eolo-Kometa 1:38:13
30 Alberto Bettiol EF Education-Nippo 1:45:02
31 Michael Storer Team DSM 1:47:48
32 Matteo Fabbro Bora-hansgrohe 1:48:12
33 Matteo Badilatti Groupama-FDJ 1:49:32
34 Luis Sanchez Astana-Premier Tech 1:49:36
35 Giovanni Carboni Bardiani CSF Faizanè 1:58:34
36 Einer Rubio Movistar 1:59:29
37 Rudy Molard Groupama-FDJ 1:59:45
38 Harold Tejada Astana-Premier Tech 2:00:40
39 Alessandro Covi UAE Team Emirates 2:02:54
40 Vadim Pronskiy Astana-Premier Tech 2:03:11
41 Lawrence Warbasse Ag2r-Citroën 2:05:17
42 Quinten Hermans Intermarché-Wanty-Gobert Matériaux 2:11:55
43 Simone Petilli Intermarché-Wanty-Gobert Matériaux 2:11:56
44 Felix Grossschartner Bora-hansgrohe 2:12:40
45 Chris Hamilton Team DSM 2:16:01
46 Edward Ravasi Eolo-Kometa 2:16:23
47 Eduardo Sepulveda Androni Giocattoli-Sidermec 2:18:35
48 Jhonnatan Narvaez INEOS Grenadiers 2:20:03
49 Patrick Bevin Israel Start-Up Nation 2:20:36
50 Andrea Vendrame Ag2r-Citroën 2:22:41
51 Rein Taaramae Intermarché-Wanty-Gobert Matériaux 2:23:11
52 Jacopo Mosca Trek-Segafredo 2:25:02
53 Davide Villella Movistar 2:27:52
54 James Knox Deceuninck-Quick Step 2:28:00
55 Dario Cataldo Movistar 2:28:16
56 Pieter Serry Deceuninck-Quick Step 2:30:29
57 Kilian Frankiny Qhubeka-Assos 2:31:59
58 Geoffrey Bouchard Ag2r-Citroën 2:34:25
59 Nicolas Roche Team DSM 2:39:17
60 Tony Gallopin Ag2r-Citroën 2:43:57
61 Matteo Sobrero Astana-Premier Tech 2:48:55
62 Nikias Arndt Team DSM 2:56:54
63 Amanuel Gebreigzabhier Trek-Segafredo 2:57:15
64 Lars van den Berg Groupama-FDJ 3:12:27
65 Jimmy Janssens Alpecin-Fenix 3:14:21
66 Simon Pellaud Androni Giocattoli-Sidermec 3:16:44
67 Andrii Ponomar Androni Giocattoli-Sidermec 3:17:22
68 Simon Carr EF Education-Nippo 3:17:49
69 Simone Ravanelli Androni Giocattoli-Sidermec 3:20:12
70 Remi Cavagna Deceuninck-Quick Step 3:21:24
71 Andrea Pasqualon Intermarché-Wanty-Gobert Matériaux 3:22:23
72 Jan Tratnik Bahrain Victorious 3:23:39
73 Filippo Zana Bardiani CSF Faizanè 3:27:23
74 Guy Niv Israel Start-Up Nation 3:30:21
75 Mark Christian Eolo-Kometa 3:32:04
76 Vincenzo Albanese Eolo-Kometa 3:32:26
77 Yukiya Arashiro Bahrain Victorious 3:34:22
78 Jens Keukeleire EF Education-Nippo 3:35:51
79 Stefano Oldani Lotto Soudal 3:36:42
80 Giovanni Aleotti Bora-hansgrohe 3:39:15
81 Mikkel Honore Deceuninck-Quick Step 3:41:23
82 Tejay van Garderen EF Education-Nippo 3:43:46
83 Callum Scotson Team BikeExchange 3:44:25
84 Enrico Battaglin Bardiani CSF Faizanè 3:44:47
85 Harm Vanhoucke Lotto Soudal 3:45:20
86 Samuele Battistella Astana-Premier Tech 3:45:30
87 Gianni Vermeersch Alpecin-Fenix 3:49:32
88 Romain Seigle Groupama-FDJ 3:55:11
89 Simon Guglielmi Groupama-FDJ 3:56:15
90 Valerio Conti UAE Team Emirates 3:57:18
91 Natnael Tesfazion Androni Giocattoli-Sidermec 3:59:45
92 Mauro Schmid Qhubeka-Assos 4:01:15
93 Dries de Bondt Alpecin-Fenix 4:01:26
94 Rafael Valls Bahrain Victorious 4:02:08
95 Giovanni Visconti Bardiani CSF Faizanè 4:02:11
96 Salvatore Puccio INEOS Grenadiers 4:02:54
97 Christopher Juul-Jensen Team BikeExchange 4:04:53
98 Matteo Jorgenson Movistar 4:05:19
99 Paul Martens Jumbo-Visma 4:07:37
100 Marton Dina Eolo-Kometa 4:08:14
101 Senne Leysen Alpecin-Fenix 4:14:41
102 Nico Denz Team DSM 4:15:55
103 Cesare Benedetti Bora-hansgrohe 4:24:14
104 Samuele Zoccarato Bardiani CSF Faizanè 4:30:34
105 Taco van der Hoorn Intermarché-Wanty-Gobert Matériaux 4:32:21
106 Davide Gabburo Bardiani CSF Faizanè 4:32:30
107 Filippo Fiorelli Bardiani CSF Faizanè s.t.
108 Oscar Riesebeek Alpecin-Fenix 4:33:19
109 Fernando Gaviria UAE Team Emirates 4:36:39
110 Cameron Meyer Team BikeExchange 4:36:42
111 Simone Consonni Cofidis 4:36:43
112 Daniel Oss Bora-hansgrohe 4:41:02
113 Antoine Duchesne Groupama-FDJ 4:41:33
114 Alexis Gougeard Ag2r-Citroën 4:42:58
115 Peter Sagan Bora-hansgrohe 4:45:18
116 Lawrence Naesen Ag2r-Citroën 4:45:20
117 Edoardo Affini Jumbo-Visma 4:45:31
118 Max Kanter Team DSM 4:45:34
119 Michael Hepburn Team BikeExchange 4:47:59
120 Filippo Ganna INEOS Grenadiers 4:49:33
121 Iljo Keisse Deceuninck-Quick Step 4:51:51
122 Bert-Jan Lindeman Qhubeka-Assos 4:55:51
123 Filippo Tagliani Androni Giocattoli-Sidermec 4:57:16
124 Davide Cimolai Israel Start-Up Nation 5:00:11
125 Sebastian Molano UAE Team Emirates 5:00:23
126 Julius van den Berg EF Education-Nippo 5:00:26
127 Wesley Kreder Intermarché-Wanty-Gobert Matériaux 5:00:44
128 Max Walscheid Qhubeka-Assos 5:00:57
129 Samuele Rivi Eolo-Kometa 5:01:10
130 Matthias Brandle Israel Start-Up Nation 5:04:04
131 Nicola Venchiarutti Androni Giocattoli-Sidermec 5:04:16
132 Fabio Sabatini Cofidis 5:07:37
133 Lukasz Wisniowski Qhubeka-Assos 5:07:52
134 Koen de Kort Trek-Segafredo 5:08:22
135 Elia Viviani Cofidis 5:10:23
136 Maciej Bodnar Bora-hansgrohe 5:15:41
137 Maximiliano Richeze UAE Team Emirates 5:15:42
138 Umberto Marengo Bardiani CSF Faizanè 5:16:12
139 Albert Torres Movistar 5:16:26
140 Alexander Krieger Alpecin-Fenix 5:23:17
141 Attilio Viviani Cofidis 5:26:43
142 Matteo Moschetti Trek-Segafredo 5:27:04
143 Riccardo Minali Intermarché-Wanty-Gobert Matériaux 5:34:03

Stage 20 map & profile:

Stage 20 map

Stage 20 map

Stage 20 profile

Stage 20 profile

Stage 20 photos by Fotoreporter Sirotti:

Damiano Caruso

Damiano Caruso is alone, off the front.

Daniel Martinez

Daniel Martinez leading Egan Bernal on the final climb. You can see Joao Almeida a few meters back.

Hugh Carthy

Hugh Carthy

Egan Bernal

Egan Bernal near the top of the final climb.

Damiano Caruso

The stage is Damiano Caruso's

Egan Bernal

Egan Bernal finished 24 seconds later.

Romain Bardet

Romain Bardet had good legs today, he finished fourth.

Joao Almeida

Joao Almeida was fifth, at 41sec.

Aleksandr VLasov

Aleksandr Vlasov

Lorenzo Fortunato

Here's ninth-place Lorenzo Fortunato near the finish.

Antonio Pedrero

Antonio Pedrero was tenth.

Dan Martin

Dan Martin was 14th, at 3min 10sec

Damiano Caruso

Stage winner Damiano Caruso

Egan Bernal

Egan Bernal has one more stage to go before he can keep his pink jersey.

Back to 2021 Giro d'Italia