# 2024 Giro d'Italia

The 2024 Giro d'Italia was the 107th edition of the Giro d'Italia, a three-week Grand Tour cycling stage race. The race started on 4 May in Venaria Reale and finished on 26 May in Rome. There were two individual time trial stages and 4 stages longer than 200 km.
The general classification was won by Tadej Pogačar of UAE Team Emirates, by a margin of 9:56 over his closest competitor, Daniel Martínez. Pogačar also won the mountains classification and six stages, and together with Eddy Merckx (1973) is the rider who in the post-war period has won the general classification taking the greatest number of stages. Pogačar's winning margin is the biggest since the 1965 edition and the fourth largest in the post-World War II era.

## Teams

UCI WorldTeams
* Alpecin–Deceuninck
* Arkéa–B&B Hotels
* Astana Qazaqstan Team
* Bora–Hansgrohe
* Cofidis
* Decathlon–AG2R La Mondiale
* EF Education–EasyPost
* Groupama–FDJ
* Ineos Grenadiers
* Intermarché–Wanty
* Lidl–Trek
* Movistar Team
* Soudal–Quick-Step
* Team Bahrain Victorious
* Team dsm–Firmenich PostNL
* Team Jayco–AlUla
* UAE Team Emirates
* Visma–Lease a Bike
UCI ProTeams
* Israel–Premier Tech
* Polti–Kometa
* Tudor Pro Cycling Team
* VF Group–Bardiani–CSF–Faizanè

## Pre-race favourites

Tadej Pogačar was the pre-race favorite after announcing he will race the Giro; 2023 runner-up Geraint Thomas also returned. Both riders had expressed the intention to attempt a Giro-Tour double.

## Route and stages

Stage characteristics and winners :
| Stage | Date | Course | Distance | Elevation gain | Type | Type | Winner |
| 1 | 4 May | Venaria Reale to Turin | 140 km (87 mi) | 1,850 m (6,070 ft) | | Hilly stage | Jhonatan Narváez (ECU) |
| 2 | 5 May | San Francesco al Campo to Santuario di Oropa (Biella) | 161 km (100 mi) | 2,300 m (7,500 ft) | | Intermediate stage | Tadej Pogačar (SLO) |
| 3 | 6 May | Novara to Fossano | 166 km (103 mi) | 750 m (2,460 ft) | | Flat stage | Tim Merlier (BEL) |
| 4 | 7 May | Acqui Terme to Andora | 190 km (120 mi) | 1,700 m (5,600 ft) | | Flat stage | Jonathan Milan (ITA) |
| 5 | 8 May | Genoa to Lucca | 178 km (111 mi) | 1,700 m (5,600 ft) | | Hilly stage | Benjamin Thomas (FRA) |
| 6 | 9 May | Viareggio to Rapolano Terme | 180 km (110 mi) | 1,900 m (6,200 ft) | | Hilly stage | Pelayo Sánchez (ESP) |
| 7 | 10 May | Foligno to Perugia | 40.6 km (25.2 mi) | 400 m (1,300 ft) | | Individual time trial | Tadej Pogačar (SLO) |
| 8 | 11 May | Spoleto to Prati di Tivo | 152 km (94 mi) | 3,850 m (12,630 ft) | | Mountain stage | Tadej Pogačar (SLO) |
| 9 | 12 May | Avezzano to Naples | 214 km (133 mi) | 1,300 m (4,300 ft) | | Hilly stage | Olav Kooij (NED) |
| | 13 May | | | | Rest day | Rest day | Rest day |
| 10 | 14 May | Pompei to Cusano Mutri | 142 km (88 mi) | 2,850 m (9,350 ft) | | Intermediate stage | Valentin Paret-Peintre (FRA) |
| 11 | 15 May | Foiano di Val Fortore to Francavilla al Mare | 207 km (129 mi) | 1,850 m (6,070 ft) | | Flat stage | Jonathan Milan (ITA) |
| 12 | 16 May | Martinsicuro to Fano | 193 km (120 mi) | 2,100 m (6,900 ft) | | Hilly stage | Julian Alaphilippe (FRA) |
| 13 | 17 May | Riccione to Cento | 179 km (111 mi) | 150 m (490 ft) | | Flat stage | Jonathan Milan (ITA) |
| 14 | 18 May | Castiglione delle Stiviere to Desenzano del Garda | 31.2 km (19.4 mi) | 150 m (490 ft) | | Individual time trial | Filippo Ganna (ITA) |
| 15 | 19 May | Manerba del Garda to Livigno | 222 km (138 mi) | 5,400 m (17,700 ft) | | Mountain stage | Tadej Pogačar (SLO) |
| | 20 May | | | | Rest day | Rest day | Rest day |
| 16 | 21 May | Livigno Laas to Santa Cristina Valgardena | 118.7 km (73.8 mi) | 4,350 m (14,270 ft) | | Mountain stage | Tadej Pogačar (SLO) |
| 17 | 22 May | Selva di Val Gardena to Passo del Brocon | 159 km (99 mi) | 4,200 m (13,800 ft) | | Mountain stage | Georg Steinhauser (GER) |
| 18 | 23 May | Fiera di Primiero to Padua | 178 km (111 mi) | 550 m (1,800 ft) | | Flat stage | Tim Merlier (BEL) |
| 19 | 24 May | Mortegliano to Sappada | 157 km (98 mi) | 2,850 m (9,350 ft) | | Intermediate stage | Andrea Vendrame (ITA) |
| 20 | 25 May | Alpago to Bassano del Grappa | 184 km (114 mi) | 4,200 m (13,800 ft) | | Mountain stage | Tadej Pogačar (SLO) |
| 21 | 26 May | Rome to Rome | 125 km (78 mi) | 300 m (980 ft) | | Flat stage | Tim Merlier (BEL) |
| Total | Total | Total | 3,317.5 km (2,061.4 mi) | 44,650 m (146,490 ft) |

## Classification leadership

Classification leadership by stage :
| Stage | Winner | General classification | Points classification | Mountains classification | Young rider classification | General Super Team | Intermediate sprint classification | Intergiro classification | Combativity award | Breakaway classification |
| 1 | Jhonatan Narváez | Jhonatan Narváez | Jhonatan Narváez | Lilian Calmejane | Alex Baudin | Ineos Grenadiers | Damiano Caruso | Lilian Calmejane | Amanuel Ghebreigzabhier | Lilian Calmejane |
| 2 | Tadej Pogačar | Tadej Pogačar | Filippo Fiorelli | Tadej Pogačar | Cian Uijtdebroeks | Bora–Hansgrohe | Andrea Piccolo | Filippo Fiorelli | Andrea Piccolo | Filippo Fiorelli |
| 3 | Tim Merlier | Tadej Pogačar | Tim Merlier | Tadej Pogačar | Cian Uijtdebroeks | Bora–Hansgrohe | Filippo Fiorelli | Filippo Fiorelli | Filippo Fiorelli | Filippo Fiorelli |
| 4 | Jonathan Milan | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Cian Uijtdebroeks | Ineos Grenadiers | Filippo Fiorelli | Lilian Calmejane | Francisco Muñoz | Lilian Calmejane |
| 5 | Benjamin Thomas | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Cian Uijtdebroeks | Ineos Grenadiers | Filippo Fiorelli | Lilian Calmejane | Mattia Bais | Lilian Calmejane |
| 6 | Pelayo Sánchez | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Cian Uijtdebroeks | Ineos Grenadiers | Filippo Fiorelli | Filippo Fiorelli | Julian Alaphilippe | Lilian Calmejane |
| 7 | Tadej Pogačar | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Luke Plapp | Ineos Grenadiers | Filippo Fiorelli | Filippo Fiorelli | not awarded | Lilian Calmejane |
| 8 | Tadej Pogačar | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Cian Uijtdebroeks | Decathlon–AG2R La Mondiale | Filippo Fiorelli | Filippo Fiorelli | Romain Bardet | Lilian Calmejane |
| 9 | Olav Kooij | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Cian Uijtdebroeks | Decathlon–AG2R La Mondiale | Filippo Fiorelli | Kaden Groves | Mirco Maestri | Andrea Pietrobon |
| 10 | Valentin Paret-Peintre | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Cian Uijtdebroeks | Decathlon–AG2R La Mondiale | Filippo Fiorelli | Filippo Fiorelli | Jan Tratnik | Andrea Pietrobon |
| 11 | Jonathan Milan | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Decathlon–AG2R La Mondiale | Filippo Fiorelli | Filippo Fiorelli | Edoardo Affini | Andrea Pietrobon |
| 12 | Julian Alaphilippe | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Decathlon–AG2R La Mondiale | Julian Alaphilippe | Filippo Fiorelli | Julian Alaphilippe | Andrea Pietrobon |
| 13 | Jonathan Milan | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Decathlon–AG2R La Mondiale | Andrea Pietrobon | Filippo Fiorelli | Andrea Pietrobon | Andrea Pietrobon |
| 14 | Filippo Ganna | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Ineos Grenadiers | Andrea Pietrobon | Filippo Fiorelli | not awarded | Andrea Pietrobon |
| 15 | Tadej Pogačar | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Ineos Grenadiers | Andrea Pietrobon | Filippo Fiorelli | Nairo Quintana | Andrea Pietrobon |
| 16 | Tadej Pogačar | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Decathlon–AG2R La Mondiale | Andrea Pietrobon | Filippo Fiorelli | Julian Alaphilippe | Andrea Pietrobon |
| 17 | Georg Steinhauser | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Decathlon–AG2R La Mondiale | Andrea Pietrobon | Filippo Fiorelli | Nairo Quintana | Andrea Pietrobon |
| 18 | Tim Merlier | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Decathlon–AG2R La Mondiale | Andrea Pietrobon | Filippo Fiorelli | Mirco Maestri | Andrea Pietrobon |
| 19 | Andrea Vendrame | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Decathlon–AG2R La Mondiale | Julian Alaphilippe | Filippo Fiorelli | Julian Alaphilippe | Andrea Pietrobon |
| 20 | Tadej Pogačar | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Decathlon–AG2R La Mondiale | Andrea Pietrobon | Filippo Fiorelli | Giulio Pellizzari | Andrea Pietrobon |
| 21 | Tim Merlier | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Decathlon–AG2R La Mondiale | Andrea Pietrobon | Filippo Fiorelli | Ewen Costiou | Andrea Pietrobon |
| Final | Final | Tadej Pogačar | Jonathan Milan | Tadej Pogačar | Antonio Tiberi | Decathlon–AG2R La Mondiale | Andrea Pietrobon | Filippo Fiorelli | Julian Alaphilippe | Andrea Pietrobon |

## Classification standings

Legend :
| Denotes the leader of the general classification | Denotes the leader of the mountains classification |
| Denotes the leader of the points classification | Denotes the leader of the young rider classification |
| Denotes the winner of the combativity award | Denotes the leader of the intergiro classification |

### General classification

Final general classification (1–10) :
| Rank | Rider | Team | Time |
| 1 | Tadej Pogačar (SLO) | UAE Team Emirates | 79h 14' 03" |
| 2 | Daniel Martínez (COL) | Bora–Hansgrohe | + 9' 56" |
| 3 | Geraint Thomas (GBR) | Ineos Grenadiers | + 10' 24" |
| 4 | Ben O'Connor (AUS) | Decathlon–AG2R La Mondiale | + 12' 07" |
| 5 | Antonio Tiberi (ITA) | Team Bahrain Victorious | + 12' 49" |
| 6 | Thymen Arensman (NED) | Ineos Grenadiers | + 14' 31" |
| 7 | Einer Rubio (COL) | Movistar Team | + 15' 52" |
| 8 | Jan Hirt (CZE) | Soudal–Quick-Step | + 18' 05" |
| 9 | Romain Bardet (FRA) | Team dsm–Firmenich PostNL | + 20' 32" |
| 10 | Michael Storer (AUS) | Tudor Pro Cycling Team | + 21' 11" |
Final general classification (11–142) :
| Rank | Rider | Team | Time |
| 11 | Filippo Zana (ITA) | Team Jayco–AlUla | + 23' 59" |
| 12 | Lorenzo Fortunato (ITA) | Astana Qazaqstan Team | + 26' 44" |
| 13 | Davide Piganzoli (ITA) | Polti–Kometa | + 32' 23" |
| 14 | Simon Geschke (GER) | Cofidis | + 33' 55" |
| 15 | Rafał Majka (POL) | UAE Team Emirates | + 37' 05" |
| 16 | Valentin Paret-Peintre (FRA) | Decathlon–AG2R La Mondiale | + 43' 26" |
| 17 | Damiano Caruso (ITA) | Team Bahrain Victorious | + 48' 16" |
| 18 | Luca Covili (ITA) | VF Group–Bardiani–CSF–Faizanè | + 51' 08" |
| 19 | Nairo Quintana (COL) | Movistar Team | + 54' 37" |
| 20 | Domenico Pozzovivo (ITA) | VF Group–Bardiani–CSF–Faizanè | + 56' 32" |
| 21 | Alex Baudin (FRA) | Decathlon–AG2R La Mondiale | + 1h 00' 47" |
| 22 | Attila Valter (HUN) | Visma–Lease a Bike | + 1h 04' 46" |
| 23 | Nicola Conci (ITA) | Alpecin–Deceuninck | + 1h 09' 10" |
| 24 | Giovanni Aleotti (ITA) | Bora–Hansgrohe | + 1h 13' 03" |
| 25 | Michel Ries (LUX) | Arkéa–B&B Hotels | + 1h 20' 06" |
| 26 | Aurélien Paret-Peintre (FRA) | Decathlon–AG2R La Mondiale | + 1h 22' 55" |
| 27 | Edoardo Zambanini (ITA) | Team Bahrain Victorious | + 1h 25' 56" |
| 28 | Jhonatan Narváez (ECU) | Ineos Grenadiers | + 1h 33' 13" |
| 29 | Kevin Vermaerke (USA) | Team dsm–Firmenich PostNL | + 1h 33' 41" |
| 30 | Mauri Vansevenant (BEL) | Soudal–Quick-Step | + 1h 47' 43" |
| 31 | Felix Großschartner (AUT) | UAE Team Emirates | + 1h 56' 06" |
| 32 | Simone Velasco (ITA) | Astana Qazaqstan Team | + 2h 00' 00" |
| 33 | Georg Steinhauser (GER) | EF Education–EasyPost | + 2h 01' 11" |
| 34 | Jan Tratnik (SLO) | Visma–Lease a Bike | + 2h 04' 15" |
| 35 | Esteban Chaves (COL) | EF Education–EasyPost | + 2h 04' 22" |
| 36 | Chris Hamilton (AUS) | Team dsm–Firmenich PostNL | + 2h 07' 50" |
| 37 | Larry Warbasse (USA) | Decathlon–AG2R La Mondiale | + 2h 12' 16" |
| 38 | Michael Valgren (DEN) | EF Education–EasyPost | + 2h 12' 33" |
| 39 | Juan Pedro López (ESP) | Lidl–Trek | + 2h 13' 11" |
| 40 | Pelayo Sánchez (ESP) | Movistar Team | + 2h 14' 44" |
| 41 | Alessandro Tonelli (ITA) | VF Group–Bardiani–CSF–Faizanè | + 2h 17' 48" |
| 42 | Lilian Calmejane (FRA) | Intermarché–Wanty | + 2h 23' 01" |
| 43 | Gijs Leemreize (NED) | Team dsm–Firmenich PostNL | + 2h 24' 58" |
| 44 | Marco Frigo (ITA) | Israel–Premier Tech | + 2h 28' 33" |
| 45 | Maximilian Schachmann (GER) | Bora–Hansgrohe | + 2h 29' 54" |
| 46 | Andrea Vendrame (ITA) | Decathlon–AG2R La Mondiale | + 2h 30' 54" |
| 47 | Henok Mulubrhan (ERI) | Astana Qazaqstan Team | + 2h 33' 34" |
| 48 | Julian Alaphilippe (FRA) | Soudal–Quick-Step | + 2h 35' 58" |
| 49 | Giulio Pellizzari (ITA) | VF Group–Bardiani–CSF–Faizanè | + 2h 42' 10" |
| 50 | Will Barta (USA) | Movistar Team | + 2h 44' 15" |
| 51 | Alessandro De Marchi (ITA) | Team Jayco–AlUla | + 2h 47' 06" |
| 52 | Luke Plapp (AUS) | Team Jayco–AlUla | + 2h 52' 59" |
| 53 | Quinten Hermans (BEL) | Alpecin–Deceuninck | + 2h 53' 06" |
| 54 | Rubén Fernández (ESP) | Cofidis | + 2h 53' 11" |
| 55 | Thomas Champion (FRA) | Cofidis | + 2h 57' 59" |
| 56 | Enzo Paleni (FRA) | Groupama–FDJ | + 3h 00' 47" |
| 57 | Jasha Sütterlin (GER) | Team Bahrain Victorious | + 3h 04' 32" |
| 58 | Ben Swift (GBR) | Ineos Grenadiers | + 3h 04' 46" |
| 59 | Magnus Sheffield (USA) | Ineos Grenadiers | + 3h 06' 10" |
| 60 | Mirco Maestri (ITA) | Polti–Kometa | + 3h 11' 01" |
| 61 | Mattia Bais (ITA) | Polti–Kometa | + 3h 12' 08" |
| 62 | Mikkel Frølich Honoré (DEN) | EF Education–EasyPost | + 3h 18' 52" |
| 63 | Amanuel Ghebreigzabhier (ERI) | Lidl–Trek | + 3h 20' 43" |
| 64 | Rainer Kepplinger (AUT) | Team Bahrain Victorious | + 3h 23' 14" |
| 65 | Andrea Bagioli (ITA) | Lidl–Trek | + 3h 34' 13" |
| 66 | Harrison Wood (GBR) | Cofidis | + 3h 34' 36" |
| 67 | Domen Novak (SLO) | UAE Team Emirates | + 3h 36' 45" |
| 68 | Albert Torres (ESP) | Movistar Team | + 3h 38' 37" |
| 69 | Damien Touzé (FRA) | Decathlon–AG2R La Mondiale | + 3h 46' 43" |
| 70 | Davide Ballerini (ITA) | Astana Qazaqstan Team | + 3h 48' 00" |
| 71 | Jefferson Alexander Cepeda (ECU) | EF Education–EasyPost | + 3h 51' 59" |
| 72 | Cyril Barthe (FRA) | Groupama–FDJ | + 3h 54' 13" |
| 73 | Alessandro Verre (ITA) | Arkéa–B&B Hotels | + 3h 54' 23" |
| 74 | Florian Stork (GER) | Tudor Pro Cycling Team | + 3h 54' 30" |
| 75 | Vegard Stake Laengen (NOR) | UAE Team Emirates | + 3h 56' 58" |
| 76 | Davide Bais (ITA) | Polti–Kometa | + 3h 58' 26" |
| 77 | Filippo Fiorelli (ITA) | VF Group–Bardiani–CSF–Faizanè | + 4h 00' 18" |
| 78 | Pieter Serry (BEL) | Soudal–Quick-Step | + 4h 00' 53" |
| 79 | Tobias Foss (NOR) | Ineos Grenadiers | + 4h 01' 40" |
| 80 | Stefan De Bod (RSA) | EF Education–EasyPost | + 4h 04' 01" |
| 81 | Andrea Pasqualon (ITA) | Team Bahrain Victorious | + 4h 07' 30" |
| 82 | Matteo Trentin (ITA) | Tudor Pro Cycling Team | + 4h 07' 41" |
| 83 | Connor Swift (GBR) | Ineos Grenadiers | + 4h 08' 46" |
| 84 | Jimmy Janssens (BEL) | Alpecin–Deceuninck | + 4h 13' 19" |
| 85 | Lorenzo Milesi (ITA) | Movistar Team | + 4h 13' 21" |
| 86 | Patrick Gamper (AUT) | Bora–Hansgrohe | + 4h 14' 45" |
| 87 | Lorenzo Germani (ITA) | Groupama–FDJ | + 4h 16' 21" |
| 88 | Bastien Tronchon (FRA) | Decathlon–AG2R La Mondiale | + 4h 16' 47" |
| 89 | Dion Smith (NZL) | Intermarché–Wanty | + 4h 17' 50" |
| 90 | Ewen Costiou (FRA) | Arkéa–B&B Hotels | + 4h 18' 08" |
| 91 | Kaden Groves (AUS) | Alpecin–Deceuninck | + 4h 18' 38" |
| 92 | Jasper Stuyven (BEL) | Lidl–Trek | + 4h 20' 07" |
| 93 | Lewis Askey (GBR) | Groupama–FDJ | + 4h 21' 30" |
| 94 | Matteo Fabbro (ITA) | Polti–Kometa | + 4h 22' 04" |
| 95 | Edward Planckaert (BEL) | Alpecin–Deceuninck | + 4h 25' 03" |
| 96 | Tobias Bayer (AUT) | Alpecin–Deceuninck | + 4h 25' 27" |
| 97 | Simon Clarke (AUS) | Israel–Premier Tech | + 4h 26' 00" |
| 98 | Kevin Colleoni (ITA) | Intermarché–Wanty | + 4h 27' 05" |
| 99 | Martin Marcellusi (ITA) | VF Group–Bardiani–CSF–Faizanè | + 4h 29' 28" |
| 100 | Jonas Koch (GER) | Bora–Hansgrohe | + 4h 29' 56" |
| 101 | Filippo Ganna (ITA) | Ineos Grenadiers | + 4h 34' 59" |
| 102 | Manuele Tarozzi (ITA) | VF Group–Bardiani–CSF–Faizanè | + 4h 38' 06" |
| 103 | Laurence Pithie (NZL) | Groupama–FDJ | + 4h 38' 23" |
| 104 | Roel van Sintmaartensdijk (NED) | Intermarché–Wanty | + 4h 39' 29" |
| 105 | Tim van Dijke (NED) | Visma–Lease a Bike | + 4h 43' 29" |
| 106 | Dries De Pooter (BEL) | Intermarché–Wanty | + 4h 43' 53" |
| 107 | Fabio Van den Bossche (BEL) | Alpecin–Deceuninck | + 4h 46' 05" |
| 108 | Mikkel Bjerg (DEN) | UAE Team Emirates | + 4h 52' 11" |
| 109 | Andrea Pietrobon (ITA) | Polti–Kometa | + 4h 53' 44" |
| 110 | Alexander Kamp (DEN) | Tudor Pro Cycling Team | + 4h 54' 18" |
| 111 | Timo Kielich (BEL) | Alpecin–Deceuninck | + 4h 56' 47" |
| 112 | Madis Mihkels (EST) | Intermarché–Wanty | + 4h 57' 16" |
| 113 | Edward Theuns (BEL) | Lidl–Trek | + 5h 11' 21" |
| 114 | Nicolas Debeaumarché (FRA) | Cofidis | + 5h 11' 40" |
| 115 | Michael Hepburn (AUS) | Team Jayco–AlUla | + 5h 11' 49" |
| 116 | Alberto Dainese (ITA) | Tudor Pro Cycling Team | + 5h 14' 20" |
| 117 | Luke Lamperti (USA) | Soudal–Quick-Step | + 5h 15' 06" |
| 118 | Jonathan Milan (ITA) | Lidl–Trek | + 5h 18' 49" |
| 119 | Donavan Grondin (FRA) | Arkéa–B&B Hotels | + 5h 19' 38" |
| 120 | Caleb Ewan (AUS) | Team Jayco–AlUla | + 5h 20' 01" |
| 121 | Rui Oliveira (POR) | UAE Team Emirates | + 5h 21' 05" |
| 122 | Francisco Muñoz (ESP) | Polti–Kometa | + 5h 21' 56" |
| 123 | Simone Consonni (ITA) | Lidl–Trek | + 5h 24' 28" |
| 124 | Enrico Zanoncello (ITA) | VF Group–Bardiani–CSF–Faizanè | + 5h 24' 52" |
| 125 | Juan Sebastián Molano (COL) | UAE Team Emirates | + 5h 25' 08" |
| 126 | Hugo Hofstetter (FRA) | Israel–Premier Tech | + 5h 25' 50" |
| 127 | Max Walscheid (GER) | Team Jayco–AlUla | + 5h 26' 34" |
| 128 | Giovanni Lonardi (ITA) | Polti–Kometa | + 5h 29' 14" |
| 129 | Stanisław Aniołkowski (POL) | Cofidis | + 5h 30' 35" |
| 130 | Edoardo Affini (ITA) | Visma–Lease a Bike | + 5h 30' 59" |
| 131 | Ryan Mullen (IRL) | Bora–Hansgrohe | + 5h 35' 48" |
| 132 | Daan Hoole (NED) | Lidl–Trek | + 5h 37' 50" |
| 133 | Olivier Le Gac (FRA) | Groupama–FDJ | + 5h 39' 13" |
| 134 | Davide Cimolai (ITA) | Movistar Team | + 5h 39' 49" |
| 135 | Bert Van Lerberghe (BEL) | Soudal–Quick-Step | + 5h 40' 20" |
| 136 | Robin Froidevaux (SUI) | Tudor Pro Cycling Team | + 5h 41' 04" |
| 137 | Fernando Gaviria (COL) | Movistar Team | + 5h 42' 54" |
| 138 | Tim Merlier (BEL) | Soudal–Quick-Step | + 5h 46' 04" |
| 139 | Fabian Lienhard (SUI) | Groupama–FDJ | + 5h 46' 08" |
| 140 | Tobias Lund Andresen (DEN) | Team dsm–Firmenich PostNL | + 5h 49' 25" |
| 141 | Josef Černý (CZE) | Soudal–Quick-Step | + 5h 55' 35" |
| 142 | Alan Riou (FRA) | Arkéa–B&B Hotels | + 6h 02' 28" |

### Points classification

Final points classification (1–10) :
| Rank | Rider | Team | Points |
| 1 | Jonathan Milan (ITA) | Lidl–Trek | 352 |
| 2 | Kaden Groves (AUS) | Alpecin–Deceuninck | 225 |
| 3 | Tim Merlier (BEL) | Soudal–Quick-Step | 193 |
| 4 | Julian Alaphilippe (FRA) | Soudal–Quick-Step | 132 |
| 5 | Tadej Pogačar (SLO) | UAE Team Emirates | 126 |
| 6 | Andrea Pietrobon (ITA) | Polti–Kometa | 117 |
| 7 | Filippo Fiorelli (ITA) | VF Group–Bardiani–CSF–Faizanè | 116 |
| 8 | Davide Ballerini (ITA) | Astana Qazaqstan Team | 84 |
| 9 | Jhonatan Narváez (ECU) | Ineos Grenadiers | 80 |
| 10 | Stanislaw Aniolkowski (POL) | Cofidis | 78 |

### Mountains classification

Final mountains classification (1–10) :
| Rank | Rider | Team | Points |
| 1 | Tadej Pogačar (SLO) | UAE Team Emirates | 270 |
| 2 | Giulio Pellizzari (ITA) | VF Group–Bardiani–CSF–Faizanè | 206 |
| 3 | Georg Steinhauser (GER) | EF Education–EasyPost | 153 |
| 4 | Nairo Quintana (COL) | Movistar Team | 114 |
| 5 | Julian Alaphilippe (FRA) | Soudal–Quick-Step | 101 |
| 6 | Daniel Martínez (COL) | Bora–Hansgrohe | 81 |
| 7 | Simon Geschke (GER) | Cofidis | 78 |
| 8 | Valentin Paret-Peintre (FRA) | Decathlon–AG2R La Mondiale | 59 |
| 9 | Romain Bardet (FRA) | Team dsm–Firmenich PostNL | 47 |
| 10 | Amanuel Ghebreigzabhier (ERI) | Lidl–Trek | 42 |

### Young rider classification

Final young rider classification (1–10) :
| Rank | Rider | Team | Time |
| 1 | Antonio Tiberi (ITA) | Team Bahrain Victorious | 79h 26' 52" |
| 2 | Thymen Arensman (NED) | Ineos Grenadiers | + 1' 42" |
| 3 | Filippo Zana (ITA) | Team Jayco–AlUla | + 11' 10" |
| 4 | Davide Piganzoli (ITA) | Polti–Kometa | + 19' 34" |
| 5 | Valentin Paret-Peintre (FRA) | Decathlon–AG2R La Mondiale | + 30' 37" |
| 6 | Alex Baudin (FRA) | Decathlon–AG2R La Mondiale | + 47' 58" |
| 7 | Giovanni Aleotti (ITA) | Bora–Hansgrohe | + 1h 00' 14" |
| 8 | Edoardo Zambanini (ITA) | Team Bahrain Victorious | + 1h 13' 07" |
| 9 | Kevin Vermaerke (USA) | Team dsm–Firmenich PostNL | + 1h 20' 52" |
| 10 | Mauri Vansevenant (BEL) | Soudal–Quick-Step | + 1h 34' 54" |

### Team classification

Final team classification (1–10) :
| Rank | Team | Time |
| 1 | Decathlon–AG2R La Mondiale | 238h 30' 07" |
| 2 | Ineos Grenadiers | + 44' 23" |
| 3 | UAE Team Emirates | + 1h 01' 50" |
| 4 | Team Bahrain Victorious | + 1h 20' 25" |
| 5 | Movistar Team | + 1h 51' 00" |
| 6 | Astana Qazaqstan Team | + 1h 58' 31" |
| 7 | VF Group–Bardiani–CSF–Faizanè | + 2h 16' 59" |
| 8 | Team dsm–Firmenich PostNL | + 2h 18' 50" |
| 9 | Bora–Hansgrohe | + 2h 45' 37" |
| 10 | Soudal–Quick-Step | + 2h 59' 42" |

### Intermediate sprint classification

Final intermediate sprint classification (1–10) :
| Rank | Rider | Team | Points |
| 1 | Andrea Pietrobon (ITA) | Polti–Kometa | 70 |
| 2 | Julian Alaphilippe (FRA) | Soudal–Quick-Step | 67 |
| 3 | Mirco Maestri (ITA) | Polti–Kometa | 43 |
| 4 | Davide Ballerini (ITA) | Astana Qazaqstan Team | 43 |
| 5 | Filippo Fiorelli (ITA) | VF Group–Bardiani–CSF–Faizanè | 43 |
| 6 | Kaden Groves (AUS) | Alpecin–Deceuninck | 26 |
| 7 | Martin Marcellusi (ITA) | VF Group–Bardiani–CSF–Faizanè | 26 |
| 8 | Jonathan Milan (ITA) | Lidl–Trek | 20 |
| 9 | Mikkel Honoré (DEN) | EF Education–EasyPost | 19 |
| 10 | Tadej Pogačar (SLO) | UAE Team Emirates | 18 |

### Intergiro classification

Final intergiro classification (1–10) :
| Rank | Rider | Team | Points |
| 1 | Filippo Fiorelli (ITA) | VF Group–Bardiani–CSF–Faizanè | 59 |
| 2 | Julian Alaphilippe (FRA) | Soudal–Quick-Step | 48 |
| 3 | Andrea Pietrobon (ITA) | Polti–Kometa | 44 |
| 4 | Kaden Groves (AUS) | Alpecin–Deceuninck | 37 |
| 5 | Mirco Maestri (ITA) | Polti–Kometa | 34 |
| 6 | Georg Steinhauser (GER) | EF Education–EasyPost | 25 |
| 7 | Manuele Tarozzi (ITA) | VF Group–Bardiani–CSF–Faizanè | 24 |
| 8 | Pelayo Sánchez (ESP) | Movistar Team | 22 |
| 9 | Jonathan Milan (ITA) | Lidl–Trek | 21 |
| 10 | Alessandro Tonelli (ITA) | VF Group–Bardiani–CSF–Faizanè | 20 |

### Breakaway classification

Final breakaway classification (1–10) :
| Rank | Rider | Team | Kilometers |
| 1 | Andrea Pietrobon (ITA) | Polti–Kometa | 605 |
| 2 | Mirco Maestri (ITA) | Polti–Kometa | 523 |
| 3 | Julian Alaphilippe (FRA) | Soudal–Quick-Step | 490 |
| 4 | Filippo Fiorelli (ITA) | VF Group–Bardiani–CSF–Faizanè | 368 |
| 5 | Edoardo Affini (ITA) | Visma–Lease a Bike | 254 |
| 6 | Lilian Calmejane (FRA) | Intermarché–Wanty | 249 |
| 7 | Alessandro Tonelli (ITA) | VF Group–Bardiani–CSF–Faizanè | 243 |
| 8 | Davide Ballerini (ITA) | Astana Qazaqstan Team | 242 |
| 9 | Giulio Pellizzari (ITA) | VF Group–Bardiani–CSF–Faizanè | 236 |
| 10 | Amanuel Ghebreigzabhier (ERI) | Lidl–Trek | 219 |