Tao Geoghegan Hart wins 2020 Giro d'Italia

Tao Geoghegan Hart (Ineos Grenadiers) claimed overall victory at the 2020 Giro d’Italia, beating overnight race leader Jai Hindley (Sunweb) by 39 seconds in the stage 21 time trial in Milan.

The pair had entered the final day tied on time – a first in Grand Tour history – but Geoghegan Hart made his superior time trialling pedigree count on the flat 15.7km course into the heart of Milan.

The 25-year-old clocked 18:14, punching the air as he watched Hindley exceed his time while still stuck in the final kilometre. Hindley gave his all to the line and stopped the clock on 18:53, slipping to second place on the final podium, ahead of his Sunweb teammate Wilco Kelderman.

It was a double celebration for Ineos Grenadiers, as time trial world champion Filippo Ganna claimed the stage win, making it a clean sweep of the three time trials at this Giro, and four stage wins in total. Ineos themselves have now won seven of the 21 stages and the overall title, all after losing their leader Geraint Thomas on stage 3.

Geoghegan Hart, who came to the Giro as a support rider for Thomas, was a picture of poise as he sidelined the pressure of the big occasion to win his first Grand Tour.

“Not in my wildest dreams did I imagine this would be possible when we started out in Sicily almost a month ago,” he said. “All my career I’ve dreamt of trying to be top 10, top 5 maybe, in a race of this stature, so this is something completely and utterly different to that and I think it’s going to take a long time for this to sink in.”

Ganna clocked 17:16 on the largely untechnical course to underline his status as the best time triallist in the world, with second and third placed Victor Campenaerts (NTT) and Rohan Dennis (Ineos Grenadiers) finishing a full 32 seconds down. However, the Italian graciously recognised this day was all about his teammate.

“For sure I’m happier for Tao than myself,” Ganna said. “When I saw his face this morning, I thought we could arrive with victory number seven and with the pink jersey."

Geoghegan Hart set out as the favourite, given he had beaten Hindley in seven of the nine time trials they’d done together since turning professional in 2017, but their age and the fact it was the final day of a Grand Tour meant anything could happen.

The pair were evenly matched on the opening couple of kilometres out of Cernusco sul Naviglio, with Hindley cutting more aggressive lines through the early roundabouts. However, on the long, straight sections, the Briton gained the upper hand, keeping on top of a higher gear as the pink jersey pedalled with a much higher cadence. At the half-way point, live timings had him 10 seconds up, and the balance of power was more definitively underlined at the intermediate checkpoint after 10.3km, with Geoghegan Hart 22 seconds to the good.

He continued to give his all and barely took any of the final bends any more tentatively as he pushed all the way to the line to finish 13th on the stage.

“My DS said I was 10 seconds up, and he kept giving me a few seconds. I only knew that we must have been in a good situation when he was screaming at me to not take any risks in the last kilometre. It’s not often that your DS tells you to slow down in a 15km TT. I also knew the work was done up until that point, so it’s incredible to arrive here in the Duomo in the center of Milan,” Geoghegan Hart said.

After catching his breath, he turned to the big screen and soon saw Hindley approach the time he’d just set. The Australian, now visibly suffering on the bike, was still in the final kilometre, and that was that. Hindley crossed the line, removed his helmet, and put his head in his hand, his time in pink lasting less than 20 minutes.

“Of course, it’s super disappointing to lose the jersey on the last day,” he said. “At the moment, it’s pretty hard to take but when I look back I think I’ll be super proud of how I and team rode the past three weeks. It’s a massive step forward in my career and something I’ll never forget.”

Geoghegan Hart tops the final general classification, 39 seconds ahead of Hindley, and 1:29 ahead of Kelderman, who recouped just three seconds on the winner. There was one other shift in the top 10, as Joåo Almeida (Deceuninck-QuickStep) produced another storming TT to place fourth on the stage and leapfrog Pello Bilbao (Bahrain McLaren) into fourth overall.

Joining Geoghegan Hart – who won the white jersey for best young rider, as well as the pink – on the podium in Milan were Arnaud Démare (Groupama-FDJ), who finished safely to wrap up the maglia ciclamino as points classification winner, and blue jersey Ruben Guerreiro (EF Pro Cycling), who topped the mountains classification to become the first Portuguese rider to win a Giro jersey. 

Geoghegan Hart had another trip to the podium as Ineos won the teams classification. His teammates sprayed him with champagne and he soaked up a moment he never saw coming, but refused to get carried away.

“I’m going to enjoy this. It’s incredible. I’m going to stay the same person and as professional as I believe I always have been,” he said. “I’m dedicated and wake up everyday looking forward to riding my bike, loving my life and being grateful for the honour and amazing position and privilege that I am in to be on this team and to be doing these beautiful race.”

How it unfolded

It was another grey day on the Giro d’Italia but the weather was dry and calm, making for straight-forward conditions on the largely untechnical 15.7km route from Cernusco sul Naviglio into the heart of Milan.

Jon Dibben was the first rider down the ramp at 13:40, with his Lotto Soudal teammate Adam Hansen setting off soon after to finish his 29th Grand Tour and finish his professional cycling career after nearly 20 years. The Israel Start-Up Nation duo of Mathias Brandle and Alex Dowsett set the early benchmarks before Miles Scotson (Groupama-FDJ) came through to break the 18-minute barrier.

Victor Campenaerts (NTT Pro Cycling) then produced something near his best after two disappointing time trials at this Giro, clocking 17:48. However, Ganna was soon to start, and he joked that he wouldn’t be in the hotseat for long.

He was correct, as Ganna soon set off and blew everyone out of the water. The Italian’s intentions were clear as he sliced through the opening roundabouts, and from then on he pumped those big legs up and down to produce the sort of watts that no one else in the world can come close to at the moment. On a short flat course that was the best suited to him of the three, he kept his speed high all the way to the line and when he stopped the clock on 17:16 it was clear we were looking at the stage winner.

His teammate Rohan Dennis, who had been so instrumental in turning the tide of the whole Giro in Geoghegan Hart’s favour, dug another strong ride out to tie Campenaerts for time and make it two Ineos riders on the podium.

Thoughts soon turned to the upper echelons of the GC and, although he’d faded earlier in the race, Brandon McNulty (UAE Team Emirates) produced another strong TT to place eights on the stage and seal 15th overall on his Grand Tour debut.

The gaps in the top 10 were such that current placings were largely locked in place, even if Domenico Pozzovivo (NTT) produced a surprising ride – 19th on the stage – to get a little closer to the top 10. Hermann Pernsteiner (Bahrain McLaren), Fausto Masnada (Deceuninck-QuickStep), and Patrick Konrad (Bora-Hansgrohe) all gave solid accounts of themselves, while Vincenzo Nibali (Trek-Segafredo) and Jakob Fugsang (Astana) clocked more or less the same time.

A big change came in the top five, as Almeida, so good in both time trials so far, and wearer of the pink jersey for two weeks, ended his Giro on something of a high, placing fourth on the stage to move back above Bilbao in fourth.

The podium, however, was gone, and Kelderman rode to 11th place to seal his first Grand Tour podium. By that point, Geoghegan Hart and Hindley were out on the course and, after the early couple of kilometres, it only went one way, all the way to the Duomo in Milan.

Swipe to scroll horizontally
Full Results
Pos.Rider Name (Country) TeamResult
1Filippo Ganna (Ita) Ineos Grenadiers 0:17:16
2Victor Campenaerts (Bel) NTT Pro Cycling 0:00:32
3Rohan Dennis (Aus) Ineos Grenadiers
4Joao Almeida (Por) Deceuninck-Quickstep 0:00:41
5Miles Scotson (Aus) Groupama-FDJ
6Josef Cerny (Cze) CCC Team 0:00:44
7Chad Haga (USA) Team Sunweb
8Brandon McNulty (USA) UAE Team Emirates 0:00:46
9Kamil Gradek (Pol) CCC Team 0:00:47
10Jan Tratnik (Slo) Bahrain McLaren
11Wilco Kelderman (Ned) Team Sunweb 0:00:55
12Martijn Tusveld (Ned) Team Sunweb 0:00:58
13Tao Geoghegan Hart (GBr) Ineos Grenadiers
14Thomas De Gendt (Bel) Lotto Soudal 0:01:03
15Maciej Bodnar (Pol) Bora-Hansgrohe 0:01:04
16Joseph Rosskopf (USA) CCC Team 0:01:05
17Alex Dowsett (GBr) Israel Start-Up Nation 0:01:06
18Matteo Sobrero (Ita) NTT Pro Cycling 0:01:08
19Domenico Pozzovivo (Ita) NTT Pro Cycling 0:01:10
20Matthias Brändle (Aut) Israel Start-Up Nation 0:01:11
21Aurélien Paret Peintre (Fra) AG2R la Mondiale 0:01:13
22Mikkel Frølich Honoré (Den) Deceuninck-Quickstep 0:01:14
23Fabio Felline (Ita) Astana Pro Team
24Pello Bilbao (Spa) Bahrain McLaren 0:01:16
25Ben O'Connor (Aus) NTT Pro Cycling 0:01:18
26Diego Ulissi (Ita) UAE Team Emirates
27Mikkel Bjerg (Den) UAE Team Emirates 0:01:19
28Ben Swift (GBr) Ineos Grenadiers 0:01:23
29Salvatore Puccio (Ita) Ineos Grenadiers 0:01:26
30Vincenzo Nibali (Ita) Trek-Segafredo 0:01:27
31Jakob Fuglsang (Den) Astana Pro Team 0:01:28
32Davide Ballerini (Ita) Deceuninck-Quickstep 0:01:30
33Fausto Masnada (Ita) Deceuninck-Quickstep 0:01:31
34Andrea Vendrame (Ita) AG2R la Mondiale 0:01:32
35Sam Oomen (Ned) Team Sunweb 0:01:34
36Patrick Konrad (Aut) Bora-Hansgrohe 0:01:35
37Louis Meintjes (RSA) NTT Pro Cycling 0:01:36
38Jai Hindley (Aus) Team Sunweb 0:01:37
39Arnaud Demare (Fra) Groupama-FDJ 0:01:38
40Lawrence Warbasse (USA) AG2R la Mondiale
41Attila Valter (Hun) CCC Team 0:01:39
42Ignatas Konovalovas (Ltu) Groupama-FDJ 0:01:41
43Oscar Rodriguez Garaicoechea (Spa) Astana Pro Team 0:01:43
44Geoffrey Bouchard (Fra) AG2R la Mondiale
45Ilnur Zakarin (Rus) CCC Team 0:01:47
46Valerio Conti (Ita) UAE Team Emirates 0:01:49
47Alvaro Jose Hodeg Chagui (Col) Deceuninck-Quickstep 0:01:50
48Pieter Serry (Bel) Deceuninck-Quickstep 0:01:52
49James Knox (GBr) Deceuninck-Quickstep 0:01:53
50Christopher Hamilton (Aus) Team Sunweb
51Hermann Pernsteiner (Aut) Bahrain McLaren 0:01:55
52Peter Sagan (Svk) Bora-Hansgrohe 0:01:56
53Jonathan Caicedo (Ecu) EF Pro Cycling 0:01:58
54Stefano Oldani (Ita) Lotto Soudal 0:01:59
55Stéphane Rossetto (Fra) Cofidis
56Matteo Fabbro (Ita) Bora-Hansgrohe 0:02:00
57Nico Denz (Ger) Team Sunweb 0:02:02
58Simone Consonni (Ita) Cofidis 0:02:04
59Enrico Battaglin (Ita) Bahrain McLaren
60Matthew Holmes (GBr) Lotto Soudal 0:02:05
61Kamil Malecki (Pol) CCC Team
62Simon Clarke (Aus) EF Pro Cycling 0:02:06
63Ruben Guerreiro (Por) EF Pro Cycling 0:02:07
64Tanel Kangert (Est) EF Pro Cycling
65Kilian Frankiny (Swi) Groupama-FDJ
66Harm Vanhoucke (Bel) Lotto Soudal 0:02:10
67Domen Novak (Slo) Bahrain McLaren 0:02:11
68Rafal Majka (Pol) Bora-Hansgrohe 0:02:12
69Mark Padun (Ukr) Bahrain McLaren
70Mathias Le Turnier (Fra) Cofidis 0:02:13
71Jonathan Dibben (GBr) Lotto Soudal
72Carl Fredrik Hagen (Nor) Lotto Soudal 0:02:14
73Jesper Hansen (Den) Cofidis 0:02:15
74Sergio Samitier Samitier (Spa) Movistar Team
75James Whelan (Aus) EF Pro Cycling
76Victor De la Parte (Spa) CCC Team
77Jonathan Castroviejo Nicolas (Spa) Ineos Grenadiers
78Simone Bevilacqua (Ita) Vini Zabu' KTM 0:02:17
79Dario Cataldo (Ita) Movistar Team 0:02:18
80Elia Viviani (Ita) Cofidis 0:02:21
81Jacopo Guarnieri (Ita) Groupama-FDJ 0:02:22
82Julien Bernard (Fra) Trek-Segafredo 0:02:23
83Albert Torres Barcelo (Spa) Movistar Team 0:02:24
84Joe Dombrowski (USA) UAE Team Emirates
85Jacopo Mosca (Ita) Trek-Segafredo 0:02:25
86Yukiya Arashiro (Jpn) Bahrain McLaren 0:02:27
87Nicola Conci (Ita) Trek-Segafredo 0:02:28
88Daniel Navarro Garcia (Spa) Israel Start-Up Nation 0:02:31
89Rick Zabel (Ger) Israel Start-Up Nation 0:02:32
90Danilo Wyss (Swi) NTT Pro Cycling 0:02:35
91Eduardo Sepulveda (Arg) Movistar Team
92Dylan Sunderland (Aus) NTT Pro Cycling 0:02:37
93Alessandro Tonelli (Ita) Bardiani CSF Faizane'
94Giovanni Carboni (Ita) Bardiani CSF Faizane'
95Simone Ravanelli (Ita) Androni Giocattoli-Sidermec
96Rodrigo Contreras Pinzon (Col) Astana Pro Team 0:02:40
97Lorenzo Rota (Ita) Vini Zabu' KTM 0:02:42
98Nathan Haas (Aus) Cofidis
99Pawel Poljanski (Pol) Bora-Hansgrohe 0:02:43
100François Bidard (Fra) AG2R la Mondiale 0:02:44
101Davide Villella (Ita) Movistar Team 0:02:45
102Cesare Benedetti (Ita) Bora-Hansgrohe 0:02:47
103Amanuel Gebreigzabhier (Eri) NTT Pro Cycling
104Sander Armee (Bel) Lotto Soudal 0:02:48
105Antonio Pedrero (Spa) Movistar Team 0:02:49
106Jonas Gregaard Wilsly (Den) Astana Pro Team 0:02:52
107Eros Capecchi (Ita) Bahrain McLaren 0:02:53
108Mattia Bais (Ita) Androni Giocattoli-Sidermec
109Jaakko Hanninen (Fin) AG2R la Mondiale
110Marco Mathis (Ger) Cofidis 0:02:55
111Einer Augusto Rubio Reyes (Col) Movistar Team 0:02:58
112Adam Hansen (Aus) Lotto Soudal 0:03:01
113Davide Cimolai (Ita) Israel Start-Up Nation
114Etienne Van Empel (Ned) Vini Zabu' KTM 0:03:02
115Lachlan Morton (Aus) EF Pro Cycling
116Guy Sagiv (Isr) Israel Start-Up Nation 0:03:06
117Josip Rumac (Cro) Androni Giocattoli-Sidermec
118Filippo Fiorelli (Ita) Bardiani CSF Faizane' 0:03:13
119Edoardo Zardini (Ita) Vini Zabu' KTM
120Jhonatan Restrepo Valencia (Col) Androni Giocattoli-Sidermec 0:03:15
121Simon Pellaud (Swi) Androni Giocattoli-Sidermec
122Simon Guglielmi (Fra) Groupama-FDJ
123Hector Carretero (Spa) Movistar Team 0:03:16
124Antonio Nibali (Ita) Trek-Segafredo
125Francesco Romano (Ita) Bardiani CSF Faizane' 0:03:18
126Luca Chirico (Ita) Androni Giocattoli-Sidermec 0:03:21
127Marco Frapporti (Ita) Vini Zabu' KTM
128Filippo Zana (Ita) Bardiani CSF Faizane'
129Giovanni Lonardi (Ita) Bardiani CSF Faizane' 0:03:22
130Fabio Mazzucco (Ita) Bardiani CSF Faizane' 0:03:39
131Jefferson Alexander Cepeda (Ecu) Androni Giocattoli-Sidermec 0:03:42
132Iljo Keisse (Bel) Deceuninck-Quickstep 0:03:43
133Alessandro Bisolti (Ita) Androni Giocattoli-Sidermec 0:04:12
Swipe to scroll horizontally
Pos.Rider Name (Country) TeamResult
1Filippo Ganna (Ita) Ineos Grenadiers 15
2Victor Campenaerts (Bel) NTT Pro Cycling 12
3Rohan Dennis (Aus) Ineos Grenadiers 9
4Joao Almeida (Por) Deceuninck-Quickstep 7
5Miles Scotson (Aus) Groupama-FDJ 6
6Josef Cerny (Cze) CCC Team 5
7Chad Haga (USA) Team Sunweb 4
8Brandon McNulty (USA) UAE Team Emirates 3
9Kamil Gradek (Pol) CCC Team 2
10Jan Tratnik (Slo) Bahrain McLaren 1
Swipe to scroll horizontally
Young Riders
Pos.Rider Name (Country) TeamResult
1Filippo Ganna (Ita) Ineos Grenadiers 0:17:16
2Joao Almeida (Por) Deceuninck-Quickstep 0:00:41
3Brandon McNulty (USA) UAE Team Emirates 0:00:46
4Tao Geoghegan Hart (GBr) Ineos Grenadiers 0:00:58
5Matteo Sobrero (Ita) NTT Pro Cycling 0:01:08
6Aurélien Paret Peintre (Fra) AG2R la Mondiale 0:01:13
7Mikkel Frølich Honoré (Den) Deceuninck-Quickstep 0:01:14
8Ben O'Connor (Aus) NTT Pro Cycling 0:01:18
9Mikkel Bjerg (Den) UAE Team Emirates 0:01:19
10Sam Oomen (Ned) Team Sunweb 0:01:34
11Jai Hindley (Aus) Team Sunweb 0:01:37
12Attila Valter (Hun) CCC Team 0:01:39
13Oscar Rodriguez Garaicoechea (Spa) Astana Pro Team 0:01:43
14Alvaro Jose Hodeg Chagui (Col) Deceuninck-Quickstep 0:01:50
15James Knox (GBr) Deceuninck-Quickstep 0:01:53
16Christopher Hamilton (Aus) Team Sunweb
17Stefano Oldani (Ita) Lotto Soudal 0:01:59
18Matteo Fabbro (Ita) Bora-Hansgrohe 0:02:00
19Kamil Malecki (Pol) CCC Team 0:02:05
20Harm Vanhoucke (Bel) Lotto Soudal 0:02:10
21Domen Novak (Slo) Bahrain McLaren 0:02:11
22Mark Padun (Ukr) Bahrain McLaren 0:02:12
23Mathias Le Turnier (Fra) Cofidis 0:02:13
24Sergio Samitier Samitier (Spa) Movistar Team 0:02:15
25James Whelan (Aus) EF Pro Cycling
26Simone Bevilacqua (Ita) Vini Zabu' KTM 0:02:17
27Nicola Conci (Ita) Trek-Segafredo 0:02:28
28Dylan Sunderland (Aus) NTT Pro Cycling 0:02:37
29Giovanni Carboni (Ita) Bardiani CSF Faizane'
30Simone Ravanelli (Ita) Androni Giocattoli-Sidermec
31Lorenzo Rota (Ita) Vini Zabu' KTM 0:02:42
32Jonas Gregaard Wilsly (Den) Astana Pro Team 0:02:52
33Mattia Bais (Ita) Androni Giocattoli-Sidermec 0:02:53
34Jaakko Hanninen (Fin) AG2R la Mondiale
35Einer Augusto Rubio Reyes (Col) Movistar Team 0:02:58
36Simon Guglielmi (Fra) Groupama-FDJ 0:03:15
37Hector Carretero (Spa) Movistar Team 0:03:16
38Francesco Romano (Ita) Bardiani CSF Faizane' 0:03:18
39Filippo Zana (Ita) Bardiani CSF Faizane' 0:03:21
40Giovanni Lonardi (Ita) Bardiani CSF Faizane' 0:03:22
41Fabio Mazzucco (Ita) Bardiani CSF Faizane' 0:03:39
42Jefferson Alexander Cepeda (Ecu) Androni Giocattoli-Sidermec 0:03:42
Swipe to scroll horizontally
Pos.Rider Name (Country) TeamResult
1Ineos Grenadiers 0:53:18
2CCC Team 0:01:06
3Team Sunweb 0:01:07
4NTT Pro Cycling 0:01:20
5UAE Team Emirates 0:01:53
6Deceuninck-Quick-Step 0:01:55
7Bahrain McClaren 0:02:28
8Groupama-FDJ 0:02:30
9AG2R la Mondiale 0:02:53
10Astana Pro Team 0:02:55
11Bora-Hansgrohe 0:03:05
12Israel Start-Up Nation 0:03:18
13Lotto Soudal 0:03:37
14EF Pro Cycling 0:04:41
15Trek-Segafredo 0:04:45
16Cofidis 0:04:46
17Movistar Team 0:05:27
18Vini Zabu' KTM 0:06:31
19Bardiani CSF Faizane 0:06:57
20Androni Giocattoli-Sidermec 0:07:06
Swipe to scroll horizontally
Final general classification after stage 21
Pos.Rider Name (Country) TeamResult
1Tao Geoghegan Hart (GBr) Ineos Grenadiers 85:40:21
2Jai Hindley (Aus) Team Sunweb 0:00:39
3Wilco Kelderman (Ned) Team Sunweb 0:01:29
4Joao Almeida (Por) Deceuninck-Quickstep 0:02:57
5Pello Bilbao (Spa) Bahrain McLaren 0:03:09
6Jakob Fuglsang (Den) Astana Pro Team 0:07:02
7Vincenzo Nibali (Ita) Trek-Segafredo 0:08:15
8Patrick Konrad (Aut) Bora-Hansgrohe 0:08:42
9Fausto Masnada (Ita) Deceuninck-Quickstep 0:09:57
10Hermann Pernsteiner (Aut) Bahrain McLaren 0:11:05
11Domenico Pozzovivo (Ita) NTT Pro Cycling 0:11:52
12Rafal Majka (Pol) Bora-Hansgrohe 0:20:31
13Sergio Samitier Samitier (Spa) Movistar Team 0:35:29
14James Knox (GBr) Deceuninck-Quickstep 0:37:41
15Brandon McNulty (USA) UAE Team Emirates 0:38:10
16Aurélien Paret Peintre (Fra) AG2R la Mondiale 0:45:04
17Lawrence Warbasse (USA) AG2R la Mondiale 0:53:25
18Ben Swift (GBr) Ineos Grenadiers 0:57:36
19Antonio Pedrero (Spa) Movistar Team 0:59:36
20Ben O'Connor (Aus) NTT Pro Cycling 1:02:57
21Sam Oomen (Ned) Team Sunweb 1:03:46
22Ilnur Zakarin (Rus) CCC Team 1:06:11
23Matteo Fabbro (Ita) Bora-Hansgrohe 1:13:49
24Jonathan Castroviejo Nicolas (Spa) Ineos Grenadiers 1:16:15
25Fabio Felline (Ita) Astana Pro Team 1:25:14
26Martijn Tusveld (Ned) Team Sunweb 1:25:34
27Attila Valter (Hun) CCC Team 1:30:13