
Saturday, May 10: Stage 2, Tirana 13.7 km individual time trial
Stage 2 map & profile | Stage 2 photos

Joshua Tarling (INEOS Grenadiers) on his way to winning the stage. RCS Sport photo
Les Woodland's book Cycling’s 50 Craziest Stories is available in print, Kindle eBook & audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at the race city of Tirana, Albania at 2:30 PM, local time: 26C (78F), partly cloudy, with the wind from the east at 8 km/hr (5 mph).
The stage: A fully urban time trial held on wide boulevards connected by U-turns. In the middle section, a short climb to Sauk is classified as a KOM (also the location of the intermediate time check). The final 2 km match those of Stage 1.
Final kilometres: The last 3 km are flat. The final 500 metres are straight and flat on 8-metre-wide asphalt.
The race: First rider off was Niklas Märkl (Picnic-PostNL) at 1:25 PM.
Here's the race report from stage winner Joshua Tarling's Team INEOS Grenadiers:
Josh Tarling produced a storming time trial performance to claim victory on stage two of the Giro d’Italia.
The INEOS Grenadier clocked a winning time of 16 minutes and seven seconds across the 13.7-kilometre course in Albania.
The Welshman was forced to endure a nervous wait on the hot seat, with Primoz Roglic (Red Bull – Bora – Hansgrohe) crossing the line a second short of Tarling’s benchmark.

European champion Edoardo Affini starts his ride.
Not only was it Tarling’s first Grand Tour stage win success, the 21 year old also became the youngest winner of a Giro time trial in the race’s illustrious history.
The stage featured a fourth-category climb, with Tarling measuring his efforts well on the ascent, before driving home his advantage on the flat run for home and overturning a deficit to a handful of riders.
Thymen Arensman rebounded well from losing time on the opening day, setting the 15th fastest time. Coming home 22 seconds back on his teammate, the Dutchman’s effort stacked up favourably among the GC contenders.
Egan Bernal remains the best-placed Grenadier overall, now in 22nd position on GC, 48 seconds back on new race leader Roglic.
Complete results:
13.7 kilometers raced at an average speed of 51.003 km/hr
| 1 | Joshua Tarling | INEOS Grenadiers | 16min 7sec |
| 2 | Primoz Roglic | Red Bull-BORA-hansgrohe | @ 1sec |
| 3 | Jay Vine | UAE Team Emirates-XRG | 0:03 |
| 4 | Edoardo Affini | Team Visma | Lease a Bike | 0:06 |
| 5 | Mathias Vacek | Lidl-Trek | s.t. |
| 6 | Daan Hoole | Lidl-Trek | 0:08 |
| 7 | Mads Pedersen | Lidl-Trek | 0:12 |
| 8 | Brandon McNulty | UAE Team Emirates-XRG | 0:13 |
| 9 | Ethan Hayter | Soudal Quick-Step | 0:14 |
| 10 | Juan Ayuso | UAE Team Emirates-XRG | 0:17 |
| 11 | Jan Tratnik | Red Bull-BORA-hansgrohe | 0:18 |
| 12 | Isaac del Toro | UAE Team Emirates-XRG | s.t. |
| 13 | Josef Cerný | Soudal Quick-Step | 0:21 |
| 14 | Daniel Martinez | Red Bull-BORA-hansgrohe | 0:22 |
| 15 | Thymen Arensman | INEOS Grenadiers | s.t. |
| 16 | Mattia Cattaneo | Soudal Quick-Step | s.t. |
| 17 | Max Poole | Team Picnic PostNL | 0:25 |
| 18 | Antonio Tiberi | Bahrain Victorious | 0:26 |
| 19 | Michael Storer | Tudor Pro Cycling Team | 0:28 |
| 20 | Derek Gee | Israel-Premier Tech | 0:29 |
| 21 | Filippo Baroncini | UAE Team Emirates-XRG | 0:31 |
| 22 | Maikel Zijlaard | Tudor Pro Cycling Team | 0:32 |
| 23 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | s.t. |
| 24 | Xabier Azparren | Q36.5 Pro Cycling Team | 0:33 |
| 25 | Wilco Kelderman | Team Visma | Lease a Bike | s.t. |
| 26 | Simon Yates | Team Visma | Lease a Bike | 0:34 |
| 27 | Jefferson Cepeda | Movistar Team | s.t. |
| 28 | Adam Yates | UAE Team Emirates-XRG | 0:37 |
| 29 | Dorian Godon | Decathlon AG2R La Mondiale | s.t. |
| 30 | Marco Frigo | Israel-Premier Tech | s.t. |
| 31 | Lorenzo Milesi | Movistar Team | 0:38 |
| 32 | Richard Carapaz | EF Education-EasyPost | s.t. |
| 33 | Michael Hepburn | Team Jayco-AlUla | 0:39 |
| 34 | Wout van Aert | Team Visma | Lease a Bike | s.t. |
| 35 | Jai Hindley | Red Bull-BORA-hansgrohe | 0:40 |
| 36 | Damiano Caruso | Bahrain Victorious | s.t. |
| 37 | Alessandro Verre | Arkea-B&B Hotels | 0:41 |
| 38 | Davide Piganzoli | Team Polti-VisitMalta | s.t. |
| 39 | Tom Pidcock | Q36.5 Pro Cycling Team | 0:43 |
| 40 | Giulio Ciccone | Lidl-Trek | s.t. |
| 41 | Dylan van Baarle | Team Visma | Lease a Bike | s.t. |
| 42 | Kasper Asgreen | EF Education-EasyPost | 0:44 |
| 43 | Clément Davy | Groupama-FDJ | 0:45 |
| 44 | Nico Denz | Red Bull-BORA-hansgrohe | 0:46 |
| 45 | Gianmarco Garofoli | Soudal Quick-Step | s.t. |
| 46 | Egan Bernal | INEOS Grenadiers | 0:49 |
| 47 | Orluis Aular | Movistar Team | s.t. |
| 48 | Enzo Paleni | Groupama-FDJ | 0:51 |
| 49 | Andrea Vendrame | Decathlon AG2R La Mondiale | 0:52 |
| 50 | Hugo Houle | Israel-Premier Tech | s.t. |
| 51 | Romain Bardet | Team Picnic PostNL | s.t. |
| 52 | Chris Harper | Team Jayco-AlUla | s.t. |
| 53 | Nickolas Zukowsky | Q36.5 Pro Cycling Team | 0:54 |
| 54 | Embret Svestad-Bårdseng | Arkea-B&B Hotels | s.t. |
| 55 | David Gaudu | Groupama-FDJ | 0:55 |
| 56 | Mark Donovan | Q36.5 Pro Cycling Team | s.t. |
| 57 | Einer Rubio | Movistar Team | 0:56 |
| 58 | Anthony Perez | Cofidis | 0:58 |
| 59 | Stan Dewulf | Decathlon AG2R La Mondiale | s.t. |
| 60 | Quentin Pacher | Groupama-FDJ | 1:01 |
| 61 | Gijs Van Hoecke | Intermarché-Wanty | s.t. |
| 62 | Francesco Busatto | Intermarché-Wanty | 1:03 |
| 63 | Rafal Majka | UAE Team Emirates-XRG | 1:04 |
| 64 | Paul Double | Team Jayco-AlUla | 1:05 |
| 65 | Owain Doull | EF Education-EasyPost | s.t. |
| 66 | Wout Poels | XDS Astana Team | 1:06 |
| 67 | Fran Miholjevic | Bahrain Victorious | 1:07 |
| 68 | Damien Howson | Q36.5 Pro Cycling Team | s.t. |
| 69 | Alessandro Tonelli | Team Polti-VisitMalta | 1:08 |
| 70 | Rémy Rochas | Groupama-FDJ | s.t. |
| 71 | Diego Ulissi | XDS Astana Team | 1:09 |
| 72 | Nicolas Prodhomme | Decathlon AG2R La Mondiale | 1:10 |
| 73 | Nicola Conci | XDS Astana Team | 1:11 |
| 74 | Jakob Fuglsang | Israel-Premier Tech | s.t. |
| 75 | Quinten Hermans | Alpecin-Deceuninck | 1:14 |
| 76 | Sven Erik Bystrøm | Groupama-FDJ | 1:15 |
| 77 | Giovanni Aleotti | Red Bull-BORA-hansgrohe | s.t. |
| 78 | Koen Bouwman | Team Jayco-AlUla | 1:16 |
| 79 | Mirco Maestri | Team Polti-VisitMalta | s.t. |
| 80 | James Knox | Soudal Quick-Step | 1:17 |
| 81 | Felix Engelhardt | Team Jayco-AlUla | s.t. |
| 82 | Juri Hollmann | Alpecin-Deceuninck | s.t. |
| 83 | Kevin Geniets | Groupama-FDJ | 1:18 |
| 84 | Alessandro Pinarello | VF Group-Bardiani CSF-Faizanè | 1:19 |
| 85 | Dion Smith | Intermarché-Wanty | s.t. |
| 86 | Lawrence Warbasse | Tudor Pro Cycling Team | s.t. |
| 87 | Steven Kruijswijk | Team Visma | Lease a Bike | s.t. |
| 88 | Louis Meintjes | Intermarché-Wanty | 1:20 |
| 89 | Simone Petilli | Intermarché-Wanty | s.t. |
| 90 | Davide De Pretto | Team Jayco-AlUla | 1:21 |
| 91 | Kim Heiduk | INEOS Grenadiers | 1:22 |
| 92 | Afonso Eulalio | Bahrain Victorious | 1:23 |
| 93 | Martin Tjøtta | Arkea-B&B Hotels | s.t. |
| 94 | Yannis Voisard | Tudor Pro Cycling Team | 1:24 |
| 95 | Andrea Pasqualon | Bahrain Victorious | s.t. |
| 96 | Lorenzo Fortunato | XDS Astana Team | 1:25 |
| 97 | Edoardo Zambanini | Bahrain Victorious | s.t. |
| 98 | Filippo Zana | Team Jayco-AlUla | 1:26 |
| 99 | Davide Bais | Team Polti-VisitMalta | 1:27 |
| 100 | Sergio Samitier | Cofidis | s.t. |
| 101 | Bart Lemmen | Team Visma | Lease a Bike | s.t. |
| 102 | Timo Kielich | Alpecin-Deceuninck | 1:28 |
| 103 | Jonathan Lastra | Cofidis | s.t. |
| 104 | Jacopo Mosca | Lidl-Trek | 1:29 |
| 105 | Luca Covili | VF Group-Bardiani CSF-Faizanè | s.t. |
| 106 | Fausto Masnada | XDS Astana Team | 1:30 |
| 107 | Simon Clarke | Israel-Premier Tech | s.t. |
| 108 | Jan Hirt | Israel-Premier Tech | 1:31 |
| 109 | Mattia Bais | Team Polti-VisitMalta | s.t. |
| 110 | Jan Maas | Cofidis | s.t. |
| 111 | James Shaw | EF Education-EasyPost | s.t. |
| 112 | Dries De Bondt | Decathlon AG2R La Mondiale | s.t. |
| 113 | Nick Schultz | Israel-Premier Tech | 1:32 |
| 114 | Luke Lamperti | Soudal Quick-Step | s.t. |
| 115 | Francisco Muñoz | Team Polti-VisitMalta | 1:33 |
| 116 | Florian Stork | Tudor Pro Cycling Team | s.t. |
| 117 | Milan Fretin | Cofidis | 1:34 |
| 118 | Martin Marcellusi | VF Group-Bardiani CSF-Faizanè | s.t. |
| 119 | Gianni Moscon | Red Bull-BORA-hansgrohe | 1:35 |
| 120 | Ben Turner | INEOS Grenadiers | s.t. |
| 121 | Jimmy Janssens | Alpecin-Deceuninck | s.t. |
| 122 | Lucas Hamilton | INEOS Grenadiers | 1:36 |
| 123 | Max Kanter | XDS Astana Team | 1:37 |
| 124 | Casper van Uden | Team Picnic PostNL | s.t. |
| 125 | Stefano Oldani | Cofidis | 1:38 |
| 126 | Chris Hamilton | Team Picnic PostNL | s.t. |
| 127 | Matteo Moschetti | Q36.5 Pro Cycling Team | s.t. |
| 128 | Milan Vader | Q36.5 Pro Cycling Team | s.t. |
| 129 | Davide Formolo | Movistar Team | 1:39 |
| 130 | Matevz Govekar | Bahrain Victorious | s.t. |
| 131 | Paul Magnier | Soudal Quick-Step | s.t. |
| 132 | Filippo Fiorelli | VF Group-Bardiani CSF-Faizanè | 1:41 |
| 133 | Igor Arrieta | UAE Team Emirates-XRG | 1:42 |
| 134 | Nairo Quintana | Movistar Team | 1:43 |
| 135 | Jonathan Castroviejo | INEOS Grenadiers | 1:45 |
| 136 | Nicolas Debeaumarché | Cofidis | s.t. |
| 137 | Jon Barrenetxea | Movistar Team | s.t. |
| 138 | Christian Scaroni | XDS Astana Team | s.t. |
| 139 | Lorenzo Germani | Groupama-FDJ | 1:47 |
| 140 | Simon Guglielmi | Arkea-B&B Hotels | s.t. |
| 141 | Alex Edmondson | Team Picnic PostNL | s.t. |
| 142 | Georg Steinhauser | EF Education-EasyPost | s.t. |
| 143 | Gijs Leemreize | Team Picnic PostNL | s.t. |
| 144 | Kevin Colleoni | Intermarché-Wanty | 1:48 |
| 145 | Giovanni Lonardi | Team Polti-VisitMalta | s.t. |
| 146 | Giosue Epis | Arkea-B&B Hotels | 1:49 |
| 147 | Kaden Groves | Alpecin-Deceuninck | s.t. |
| 148 | Edward Planckaert | Alpecin-Deceuninck | 1:50 |
| 149 | Patrick Konrad | Lidl-Trek | s.t. |
| 150 | Jensen Plowright | Alpecin-Deceuninck | 1:51 |
| 151 | Luca Mozzato | Arkea-B&B Hotels | 1:52 |
| 152 | Taco van der Hoorn | Intermarché-Wanty | s.t. |
| 153 | Olav Kooij | Team Visma | Lease a Bike | s.t. |
| 154 | Anton Kuzmin | XDS Astana Team | 1:53 |
| 155 | Bram Welten | Team Picnic PostNL | 1:54 |
| 156 | Alexander Krieger | Tudor Pro Cycling Team | s.t. |
| 157 | Emils Liepins | Q36.5 Pro Cycling Team | s.t. |
| 158 | Rick Pluimers | Tudor Pro Cycling Team | 1:55 |
| 159 | Pello Bilbao | Bahrain Victorious | 1:57 |
| 160 | Tord Gudmestad | Decathlon AG2R La Mondiale | 1:58 |
| 161 | Søren Kragh Andersen | Lidl-Trek | s.t. |
| 162 | Gerben Thijssen | Intermarché-Wanty | 1:59 |
| 163 | Mikkel Honore | EF Education-EasyPost | s.t. |
| 164 | Sam Bennett | Decathlon AG2R La Mondiale | 1:59 |
| 165 | Manuele Tarozzi | VF Group-Bardiani CSF-Faizanè | 2:00 |
| 166 | Alessio Martinelli | VF Group-Bardiani CSF-Faizanè | s.t. |
| 167 | Michel Ries | Arkea-B&B Hotels | 2:01 |
| 168 | Alexander Cepeda | EF Education-EasyPost | 2:02 |
| 169 | Corbin Strong | Israel-Premier Tech | 2:03 |
| 170 | Andrea Pietrobon | Team Polti-VisitMalta | 2:04 |
| 171 | Filippo Magli | VF Group-Bardiani CSF-Faizanè | 2:05 |
| 172 | Enrico Zanoncello | VF Group-Bardiani CSF-Faizanè | 2:11 |
| 173 | Marco Brenner | Tudor Pro Cycling Team | 2:13 |
| 174 | Albert Torres | Movistar Team | 2:15 |
| 175 | Carlos Verona | Lidl-Trek | 2:16 |
| 176 | Niklas Märkl | Team Picnic PostNL | s.t. |
| 177 | Brandon Rivera | INEOS Grenadiers | 2:17 |
| 178 | Sylvain Moniquet | Cofidis | 2:25 |
| 179 | Fabio Van den Bossche | Alpecin-Deceuninck | 2:34 |
| 180 | Darren Rafferty | EF Education-EasyPost | 2:37 |
| 181 | Laurens Huys | Arkea-B&B Hotels | 2:54 |
| 182 | Lucas Plapp | Team Jayco-AlUla | 3:57 |
GC after stage 2
173.7 kilometers raced so far at an average speed of 44.819 km/hr
| 1 | Primoz Roglic | Red Bull-BORA-hansgrohe | 3hr 52min 32sec |
| 2 | Mads Pedersen | Lidl-Trek | @ 1sec |
| 3 | Mathias Vacek | Lidl-Trek | 0:05 |
| 4 | Brandon McNulty | UAE Team Emirates-XRG | 0:12 |
| 5 | Juan Ayuso | UAE Team Emirates-XRG | 0:16 |
| 6 | Isaac del Toro | UAE Team Emirates-XRG | 0:17 |
| 7 | Max Poole | Team Picnic PostNL | 0:24 |
| 8 | Antonio Tiberi | Bahrain Victorious | 0:25 |
| 9 | Michael Storer | Tudor Pro Cycling Team | 0:27 |
| 10 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 0:31 |
| 11 | Wout van Aert | Team Visma | Lease a Bike | 0:32 |
| 12 | Wilco Kelderman | Team Visma | Lease a Bike | s.t. |
| 13 | Simon Yates | Team Visma | Lease a Bike | 0:33 |
| 14 | Adam Yates | UAE Team Emirates-XRG | 0:36 |
| 15 | Richard Carapaz | EF Education-EasyPost | 0:37 |
| 16 | Jai Hindley | Red Bull-BORA-hansgrohe | 0:39 |
| 17 | Damiano Caruso | Bahrain Victorious | s.t. |
| 18 | Davide Piganzoli | Team Polti-VisitMalta | 0:40 |
| 19 | Tom Pidcock | Q36.5 Pro Cycling Team | 0:42 |
| 20 | Giulio Ciccone | Lidl-Trek | s.t. |
| 21 | Orluis Aular | Movistar Team | 0:44 |
| 22 | Egan Bernal | INEOS Grenadiers | 0:48 |
| 23 | Romain Bardet | Team Picnic PostNL | 0:51 |
| 24 | Chris Harper | Team Jayco-AlUla | s.t. |
| 25 | David Gaudu | Groupama-FDJ | 0:54 |
| 26 | Einer Rubio | Movistar Team | 0:55 |
| 27 | Francesco Busatto | Intermarché-Wanty | 1:02 |
| 28 | Rafal Majka | UAE Team Emirates-XRG | 1:03 |
| 29 | Paul Double | Team Jayco-AlUla | 1:04 |
| 30 | Damien Howson | Q36.5 Pro Cycling Team | 1:06 |
| 31 | Diego Ulissi | XDS Astana Team | 1:08 |
| 32 | Nicola Conci | XDS Astana Team | 1:10 |
| 33 | Giovanni Aleotti | Red Bull-BORA-hansgrohe | 1:14 |
| 34 | Felix Engelhardt | Team Jayco-AlUla | 1:16 |
| 35 | Daniel Martinez | Red Bull-BORA-hansgrohe | 1:18 |
| 36 | Derek Gee | Israel-Premier Tech | 1:25 |
| 37 | Jefferson Cepeda | Movistar Team | 1:30 |
| 38 | Joshua Tarling | INEOS Grenadiers | 1:34 |
| 39 | Quinten Hermans | Alpecin-Deceuninck | 1:35 |
| 40 | Nairo Quintana | Movistar Team | 1:42 |
| 41 | Christian Scaroni | XDS Astana Team | 1:44 |
| 42 | Florian Stork | Tudor Pro Cycling Team | 1:54 |
| 43 | Thymen Arensman | INEOS Grenadiers | 1:56 |
| 44 | Filippo Fiorelli | VF Group-Bardiani CSF-Faizanè | 2:05 |
| 45 | Nicolas Prodhomme | Decathlon AG2R La Mondiale | 2:06 |
| 46 | Marco Frigo | Israel-Premier Tech | 2:13 |
| 47 | Alessandro Pinarello | VF Group-Bardiani CSF-Faizanè | 2:15 |
| 48 | Louis Meintjes | Intermarché-Wanty | 2:16 |
| 49 | Martin Tjøtta | Arkea-B&B Hotels | 2:19 |
| 50 | Lorenzo Fortunato | XDS Astana Team | 2:21 |
| 51 | Sergio Samitier | Cofidis | 2:23 |
| 52 | Davide Bais | Team Polti-VisitMalta | s.t. |
| 53 | Mattia Bais | Team Polti-VisitMalta | 2:27 |
| 54 | Jan Hirt | Israel-Premier Tech | s.t. |
| 55 | James Shaw | EF Education-EasyPost | s.t. |
| 56 | Milan Vader | Q36.5 Pro Cycling Team | 2:34 |
| 57 | Stefano Oldani | Cofidis | s.t. |
| 58 | Chris Hamilton | Team Picnic PostNL | s.t. |
| 59 | Davide Formolo | Movistar Team | 2:35 |
| 60 | Wout Poels | XDS Astana Team | 2:40 |
| 61 | Mattia Cattaneo | Soudal Quick-Step | 2:41 |
| 62 | Sven Erik Bystrøm | Groupama-FDJ | 2:51 |
| 63 | Koen Bouwman | Team Jayco-AlUla | 2:52 |
| 64 | James Knox | Soudal Quick-Step | 2:53 |
| 65 | Kevin Geniets | Groupama-FDJ | 2:54 |
| 66 | Alessandro Verre | Arkea-B&B Hotels | 2:58 |
| 67 | Alexander Cepeda | EF Education-EasyPost | s.t. |
| 68 | Edoardo Zambanini | Bahrain Victorious | 3:01 |
| 69 | Filippo Zana | Team Jayco-AlUla | 3:02 |
| 70 | Luca Covili | VF Group-Bardiani CSF-Faizanè | 3:05 |
| 71 | Martin Marcellusi | VF Group-Bardiani CSF-Faizanè | 3:10 |
| 72 | Quentin Pacher | Groupama-FDJ | 3:20 |
| 73 | Lorenzo Germani | Groupama-FDJ | 3:23 |
| 74 | Søren Kragh Andersen | Lidl-Trek | 3:34 |
| 75 | Filippo Magli | VF Group-Bardiani CSF-Faizanè | 3:41 |
| 76 | Ben Turner | INEOS Grenadiers | 3:54 |
| 77 | Jay Vine | UAE Team Emirates-XRG | 4:01 |
| 78 | Igor Arrieta | UAE Team Emirates-XRG | s.t. |
| 79 | Jon Barrenetxea | Movistar Team | 4:04 |
| 80 | Simon Guglielmi | Arkea-B&B Hotels | 4:06 |
| 81 | Michel Ries | Arkea-B&B Hotels | 4:20 |
| 82 | Embret Svestad-Bårdseng | Arkea-B&B Hotels | 4:46 |
| 83 | Mark Donovan | Q36.5 Pro Cycling Team | 4:47 |
| 84 | Corbin Strong | Israel-Premier Tech | 5:02 |
| 85 | Simone Petilli | Intermarché-Wanty | 5:12 |
| 86 | Davide De Pretto | Team Jayco-AlUla | 5:13 |
| 87 | Dorian Godon | Decathlon AG2R La Mondiale | 5:19 |
| 88 | Dries De Bondt | Decathlon AG2R La Mondiale | 5:23 |
| 89 | Max Kanter | XDS Astana Team | 5:29 |
| 90 | Manuele Tarozzi | VF Group-Bardiani CSF-Faizanè | 5:46 |
| 91 | Rick Pluimers | Tudor Pro Cycling Team | 5:47 |
| 92 | Fabio Van den Bossche | Alpecin-Deceuninck | 6:26 |
| 93 | Nickolas Zukowsky | Q36.5 Pro Cycling Team | 6:28 |
| 94 | Anthony Perez | Cofidis | 6:32 |
| 95 | Rémy Rochas | Groupama-FDJ | 6:42 |
| 96 | Lawrence Warbasse | Tudor Pro Cycling Team | 6:53 |
| 97 | Yannis Voisard | Tudor Pro Cycling Team | 6:58 |
| 98 | Jonathan Lastra | Cofidis | 7:02 |
| 99 | Kaden Groves | Alpecin-Deceuninck | 7:23 |
| 100 | Pello Bilbao | Bahrain Victorious | 7:31 |
| 101 | Alessio Martinelli | VF Group-Bardiani CSF-Faizanè | 7:34 |
| 102 | Fausto Masnada | XDS Astana Team | 8:52 |
| 103 | Hugo Houle | Israel-Premier Tech | 9:09 |
| 104 | Andrea Vendrame | Decathlon AG2R La Mondiale | s.t. |
| 105 | Owain Doull | EF Education-EasyPost | 9:22 |
| 106 | Lucas Plapp | Team Jayco-AlUla | 9:31 |
| 107 | Juri Hollmann | Alpecin-Deceuninck | 9:34 |
| 108 | Dion Smith | Intermarché-Wanty | 9:36 |
| 109 | Afonso Eulalio | Bahrain Victorious | 9:40 |
| 110 | Carlos Verona | Lidl-Trek | 9:42 |
| 111 | Daan Hoole | Lidl-Trek | 9:48 |
| 112 | Nick Schultz | Israel-Premier Tech | 9:49 |
| 113 | Jonathan Castroviejo | INEOS Grenadiers | 10:02 |
| 114 | Kevin Colleoni | Intermarché-Wanty | 10:05 |
| 115 | Edward Planckaert | Alpecin-Deceuninck | 10:07 |
| 116 | Tord Gudmestad | Decathlon AG2R La Mondiale | 10:15 |
| 117 | Mikkel Honore | EF Education-EasyPost | 10:16 |
| 118 | Dylan van Baarle | Team Visma | Lease a Bike | 10:23 |
| 119 | Nico Denz | Red Bull-BORA-hansgrohe | 10:26 |
| 120 | Brandon Rivera | INEOS Grenadiers | 10:34 |
| 121 | Darren Rafferty | EF Education-EasyPost | 10:54 |
| 122 | Mirco Maestri | Team Polti-VisitMalta | 10:56 |
| 123 | Josef Cerný | Soudal Quick-Step | 10:57 |
| 124 | Filippo Baroncini | UAE Team Emirates-XRG | 11:07 |
| 125 | Jacopo Mosca | Lidl-Trek | 11:09 |
| 126 | Lorenzo Milesi | Movistar Team | 11:14 |
| 127 | Gianmarco Garofoli | Soudal Quick-Step | 11:22 |
| 128 | Patrick Konrad | Lidl-Trek | 11:30 |
| 129 | Alessandro Tonelli | Team Polti-VisitMalta | 11:40 |
| 130 | Jakob Fuglsang | Israel-Premier Tech | 11:47 |
| 131 | Steven Kruijswijk | Team Visma | Lease a Bike | 11:55 |
| 132 | Simon Clarke | Israel-Premier Tech | 12:06 |
| 133 | Milan Fretin | Cofidis | 12:10 |
| 134 | Lucas Hamilton | INEOS Grenadiers | 12:12 |
| 135 | Paul Magnier | Soudal Quick-Step | 12:15 |
| 136 | Georg Steinhauser | EF Education-EasyPost | 12:23 |
| 137 | Edoardo Affini | Team Visma | Lease a Bike | 12:28 |
| 138 | Enrico Zanoncello | VF Group-Bardiani CSF-Faizanè | 12:47 |
| 139 | Xabier Azparren | Q36.5 Pro Cycling Team | 12:55 |
| 140 | Clément Davy | Groupama-FDJ | 13:07 |
| 141 | Enzo Paleni | Groupama-FDJ | 13:13 |
| 142 | Stan Dewulf | Decathlon AG2R La Mondiale | 13:20 |
| 143 | Bart Lemmen | Team Visma | Lease a Bike | 13:49 |
| 144 | Timo Kielich | Alpecin-Deceuninck | 13:50 |
| 145 | Jan Tratnik | Red Bull-BORA-hansgrohe | 13:53 |
| 146 | Michael Hepburn | Team Jayco-AlUla | s.t. |
| 147 | Jan Maas | Cofidis | s.t. |
| 148 | Francisco Muñoz | Team Polti-VisitMalta | 13:55 |
| 149 | Casper van Uden | Team Picnic PostNL | 13:59 |
| 150 | Nicolas Debeaumarché | Cofidis | 14:07 |
| 151 | Gijs Leemreize | Team Picnic PostNL | 14:09 |
| 152 | Giovanni Lonardi | Team Polti-VisitMalta | 14:10 |
| 153 | Gijs Van Hoecke | Intermarché-Wanty | 14:15 |
| 154 | Anton Kuzmin | XDS Astana Team | s.t. |
| 155 | Fran Miholjevic | Bahrain Victorious | 14:21 |
| 156 | Sam Bennett | Decathlon AG2R La Mondiale | s.t. |
| 157 | Andrea Pietrobon | Team Polti-VisitMalta | 14:26 |
| 158 | Kim Heiduk | INEOS Grenadiers | 14:36 |
| 159 | Albert Torres | Movistar Team | 14:37 |
| 160 | Andrea Pasqualon | Bahrain Victorious | 14:38 |
| 161 | Gianni Moscon | Red Bull-BORA-hansgrohe | 14:49 |
| 162 | Matteo Moschetti | Q36.5 Pro Cycling Team | 14:52 |
| 163 | Alex Edmondson | Team Picnic PostNL | 15:01 |
| 164 | Giosue Epis | Arkea-B&B Hotels | 15:03 |
| 165 | Luca Mozzato | Arkea-B&B Hotels | 15:06 |
| 166 | Olav Kooij | Team Visma | Lease a Bike | s.t. |
| 167 | Taco van der Hoorn | Intermarché-Wanty | s.t. |
| 168 | Bram Welten | Team Picnic PostNL | 15:08 |
| 169 | Emils Liepins | Q36.5 Pro Cycling Team | s.t. |
| 170 | Gerben Thijssen | Intermarché-Wanty | 15:13 |
| 171 | Laurens Huys | Arkea-B&B Hotels | 15:16 |
| 172 | Sylvain Moniquet | Cofidis | 15:39 |
| 173 | Ethan Hayter | Soudal Quick-Step | 17:36 |
| 174 | Maikel Zijlaard | Tudor Pro Cycling Team | 17:54 |
| 175 | Kasper Asgreen | EF Education-EasyPost | 18:06 |
| 176 | Luke Lamperti | Soudal Quick-Step | 18:54 |
| 177 | Jimmy Janssens | Alpecin-Deceuninck | 18:57 |
| 178 | Matevz Govekar | Bahrain Victorious | 19:01 |
| 179 | Jensen Plowright | Alpecin-Deceuninck | 19:13 |
| 180 | Alexander Krieger | Tudor Pro Cycling Team | 19:16 |
| 181 | Marco Brenner | Tudor Pro Cycling Team | 19:35 |
| 182 | Niklas Märkl | Team Picnic PostNL | 28:23 |
Stage 2 map & profile:

Stage two map

Stage 2 profile
Stage two photos by Fotoreporter Sirotti:

Near the end of a wonderful career, Romain Bardet rides to 51st place, @ 52 seconds.

Jai Hindley, 35th @ 40 seconds.

Wout van Aert riding to 34th, @ 39 seconds.

26th place Simon Yates

Derek Gee was 20th, @ 29 seconds.

Josef Cerný was 13th, @ 21 seconds.

Race leader Mads Pedersen turned in a good ride, seventh place , just 12 seconds slower than winner Josh Tarling.

Primoz Roglic was second, good enough to make him the GC leader.

Stage winner Joshua Tarling.

Stage winner Joshua Tarling

New Best Young Rider Mathias Vacek was fifth in the stage and is now third in the GC.

New GC leader Primoz Roglic. He was clearly ready to take over the lead. Note his pink-framed sunglasses.