# 2023 Vuelta a España

The 2023 Vuelta a España was a three-week men's cycling race taking place in Spain between 26 August and 17 September 2023. It was the 78th edition of the Vuelta a España and was won by Sepp Kuss. The race started in Barcelona, and it also went through parts of Andorra and France.

## Teams

22 teams were scheduled to take part in the race. All 18 UCI WorldTeams were automatically invited. They were joined by 4 UCI ProTeams - the two highest placed UCI ProTeams in 2022 (Lotto–Dstny and Team TotalEnergies), along with Burgos BH and Caja Rural–Seguros RGA who were selected by the organisers. The teams were announced on 8 March 2023.
UCI WorldTeams
* AG2R Citroën Team
* Alpecin–Deceuninck
* Arkéa–Samsic
* Astana Qazaqstan Team
* Bora–Hansgrohe
* Cofidis
* EF Education–EasyPost
* Groupama–FDJ
* Ineos Grenadiers
* Intermarché–Circus–Wanty
* Lidl–Trek
* Movistar Team
* Soudal–Quick-Step
* Team Bahrain Victorious
* Team dsm–firmenich
* Team Jayco–AlUla
* Team Jumbo–Visma
* UAE Team Emirates
UCI ProTeams
* Burgos BH
* Caja Rural–Seguros RGA
* Lotto–Dstny
* Team TotalEnergies

## Route and stages

Stage characteristics and winners :
| Stage | Date | Course | Distance | Type | Type | Winner | Ref |
| 1 | 26 August | Barcelona to Barcelona | 14.8 km (9.2 mi) | | Team time trial | Team dsm–firmenich | |
| 2 | 27 August | Mataró to Barcelona | 182 km (113 mi) | | Hilly stage | Andreas Kron (DEN) | |
| 3 | 28 August | Súria to Arinsal (Andorra) | 158.5 km (98.5 mi) | | Mountain stage | Remco Evenepoel (BEL) | |
| 4 | 29 August | Andorra la Vella (Andorra) to Tarragona | 185 km (115 mi) | | Hilly stage | Kaden Groves (AUS) | |
| 5 | 30 August | Morella to Burriana | 186.5 km (115.9 mi) | | Hilly stage | Kaden Groves (AUS) | |
| 6 | 31 August | La Vall d'Uixó to Observatorio Astrofísico de Javalambre | 183.5 km (114.0 mi) | | Mountain stage | Sepp Kuss (USA) | |
| 7 | 1 September | Utiel to Oliva | 201 km (125 mi) | | Flat stage | Geoffrey Soupe (FRA) | |
| 8 | 2 September | Dénia to Xorret de Catí | 165 km (103 mi) | | Mountain stage | Primož Roglič (SLO) | |
| 9 | 3 September | Cartagena to Collado de la Cruz de Caravaca | 184.5 km (114.6 mi) | | Medium-mountain stage | Lennard Kämna (GER) | |
| | 4 September | Rest day | Rest day | Rest day | Rest day | Rest day | Rest day |
| 10 | 5 September | Valladolid to Valladolid | 25.8 km (16.0 mi) | | Individual time trial | Filippo Ganna (ITA) | |
| 11 | 6 September | Lerma to La Laguna Negra | 165 km (103 mi) | | Hilly stage | Jesús Herrada (ESP) | |
| 12 | 7 September | Ólvega to Zaragoza | 151 km (94 mi) | | Flat stage | Juan Sebastián Molano (COL) | |
| 13 | 8 September | Formigal to Col du Tourmalet (France) | 135 km (84 mi) | | Mountain stage | Jonas Vingegaard (DEN) | |
| 14 | 9 September | Sauveterre-de-Béarn (France) to Larra-Belagua | 156.5 km (97.2 mi) | | Mountain stage | Remco Evenepoel (BEL) | |
| 15 | 10 September | Pamplona to Lekunberri | 158.5 km (98.5 mi) | | Hilly stage | Rui Costa (POR) | |
| | 11 September | Rest day | Rest day | Rest day | Rest day | Rest day | Rest day |
| 16 | 12 September | Liencres Playa to Bejes | 120.5 km (74.9 mi) | | Hilly stage | Jonas Vingegaard (DEN) | |
| 17 | 13 September | Ribadesella to Alto de L'Angliru | 124.5 km (77.4 mi) | | Mountain stage | Primož Roglič (SLO) | |
| 18 | 14 September | Pola de Allande to La Cruz de Linares | 179 km (111 mi) | | Mountain stage | Remco Evenepoel (BEL) | |
| 19 | 15 September | La Bañeza to Íscar | 177.5 km (110.3 mi) | | Flat stage | Alberto Dainese (ITA) | |
| 20 | 16 September | Manzanares el Real to Guadarrama | 208 km (129 mi) | | Hilly stage | Wout Poels (NED) | |
| 21 | 17 September | Hipódromo de la Zarzuela to Madrid | 101.5 km (63.1 mi) | | Flat stage | Kaden Groves (AUS) | |
| Total | Total | Total | 3,153.8 km (1,959.7 mi) | 3,153.8 km (1,959.7 mi) | 3,153.8 km (1,959.7 mi) | 3,153.8 km (1,959.7 mi) | 3,153.8 km (1,959.7 mi) |

## Pre-race favourites

The main pre-race favourites to win the general classification were 2023 Tour de France winner Jonas Vingegaard, 2022 Vuelta a España winner Remco Evenepoel, as well as 2023 Giro d'Italia winner Primož Roglič. Juan Ayuso, Geraint Thomas, and Enric Mas were also mentioned as competitors for a podium finish. Outside contenders included Mikel Landa, Eddie Dunbar and Aleksandr Vlasov.
The pre-race favourites for the sprinters to win the points classification were Kaden Groves and Bryan Coquard.

## Classification leadership

Classification leadership by stage :
| Stage | Winner | General classification | Points classification | Mountains classification | Young rider classification | Team classification | Combativity award |
| 1 | Team dsm–firmenich | Lorenzo Milesi | not awarded | not awarded | Lorenzo Milesi | Team dsm–firmenich | not awarded |
| 2 | Andreas Kron | Andrea Piccolo | Andreas Kron | Matteo Sobrero | Andrea Piccolo | EF Education–EasyPost | Javier Romo |
| 3 | Remco Evenepoel | Remco Evenepoel | Andrea Vendrame | Remco Evenepoel | Remco Evenepoel | Team Jumbo–Visma | Damiano Caruso |
| 4 | Kaden Groves | Remco Evenepoel | Kaden Groves | Eduardo Sepúlveda | Remco Evenepoel | Team Jumbo–Visma | Ander Okamika |
| 5 | Kaden Groves | Remco Evenepoel | Kaden Groves | Eduardo Sepúlveda | Remco Evenepoel | Team Jumbo–Visma | Eric Fagúndez |
| 6 | Sepp Kuss | Lenny Martinez | Kaden Groves | Eduardo Sepúlveda | Lenny Martinez | Team Bahrain Victorious | Mikel Landa |
| 7 | Geoffrey Soupe | Lenny Martinez | Kaden Groves | Eduardo Sepúlveda | Lenny Martinez | Team Bahrain Victorious | Ander Okamika |
| 8 | Primož Roglič | Sepp Kuss | Kaden Groves | Eduardo Sepúlveda | Lenny Martinez | Team Jumbo–Visma | Oier Lazkano |
| 9 | Lennard Kämna | Sepp Kuss | Kaden Groves | Eduardo Sepúlveda | Lenny Martinez | Team Jumbo–Visma | Jon Barrenetxea |
| 10 | Filippo Ganna | Sepp Kuss | Kaden Groves | Eduardo Sepúlveda | Remco Evenepoel | Team Jumbo–Visma | not awarded |
| 11 | Jesús Herrada | Sepp Kuss | Kaden Groves | Jesús Herrada | Remco Evenepoel | Team Jumbo–Visma | José Manuel Díaz |
| 12 | Juan Sebastián Molano | Sepp Kuss | Kaden Groves | Jesús Herrada | Remco Evenepoel | Team Jumbo–Visma | Jetse Bol |
| 13 | Jonas Vingegaard | Sepp Kuss | Kaden Groves | Jonas Vingegaard | Juan Ayuso | Team Jumbo–Visma | Michael Storer |
| 14 | Remco Evenepoel | Sepp Kuss | Kaden Groves | Remco Evenepoel | Juan Ayuso | Team Jumbo–Visma | Remco Evenepoel |
| 15 | Rui Costa | Sepp Kuss | Kaden Groves | Remco Evenepoel | Juan Ayuso | Team Jumbo–Visma | Remco Evenepoel |
| 16 | Jonas Vingegaard | Sepp Kuss | Kaden Groves | Remco Evenepoel | Juan Ayuso | Team Jumbo–Visma | Joel Nicolau |
| 17 | Primož Roglič | Sepp Kuss | Kaden Groves | Remco Evenepoel | Juan Ayuso | Team Jumbo–Visma | Remco Evenepoel |
| 18 | Remco Evenepoel | Sepp Kuss | Kaden Groves | Remco Evenepoel | Juan Ayuso | Team Jumbo–Visma | Remco Evenepoel |
| 19 | Alberto Dainese | Sepp Kuss | Kaden Groves | Remco Evenepoel | Juan Ayuso | Team Jumbo–Visma | Michal Schlegel |
| 20 | Wout Poels | Sepp Kuss | Kaden Groves | Remco Evenepoel | Juan Ayuso | Team Jumbo–Visma | Pelayo Sánchez |
| 21 | Kaden Groves | Sepp Kuss | Kaden Groves | Remco Evenepoel | Juan Ayuso | Team Jumbo–Visma | not awarded |
| Final | Final | Sepp Kuss | Kaden Groves | Remco Evenepoel | Juan Ayuso | Team Jumbo–Visma | Remco Evenepoel |
* On stage 2, the distinctive jerseys were worn by members of Team DSM-Firmenich. The green jersey was worn by Romain Bardet, the polka dot jersey was worn by Sean Flynn, and the white jersey was worn by Max Poole, on behalf of Lorenzo Milesi.
* On stage 3, the white jersey was worn by Javier Romo, on behalf of Andrea Piccolo.
* On stage 4, the white jersey was worn by Lenny Martinez and the polka dot jersey was worn by Eduardo Sepúlveda, both on behalf of Remco Evenepoel.
* On stage 5, the white jersey was worn by Lenny Martinez, on behalf of Remco Evenepoel.
* On stage 6 and stage 7, the white jersey was worn by Juan Ayuso, on behalf of Lenny Martinez.

## Classification standings

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

### General classification

Final general classification (1–10) :
| Rank | Rider | Team | Time |
| 1 | Sepp Kuss (USA) | Team Jumbo–Visma | 76h 48' 21" |
| 2 | Jonas Vingegaard (DEN) | Team Jumbo–Visma | + 17" |
| 3 | Primož Roglič (SLO) | Team Jumbo–Visma | + 1' 08" |
| 4 | Juan Ayuso (ESP) | UAE Team Emirates | + 3' 18" |
| 5 | Mikel Landa (ESP) | Team Bahrain Victorious | + 3' 37" |
| 6 | Enric Mas (ESP) | Movistar Team | + 4' 14" |
| 7 | Aleksandr Vlasov | Bora–Hansgrohe | + 7' 53" |
| 8 | Cian Uijtdebroeks (BEL) | Bora–Hansgrohe | + 8' 00" |
| 9 | João Almeida (POR) | UAE Team Emirates | + 10' 08" |
| 10 | Santiago Buitrago (COL) | Team Bahrain Victorious | + 11' 38" |
Final general classification (11–148) :
| Rank | Rider | Team | Time |
| 11 | Steff Cras (BEL) | Team TotalEnergies | + 14' 04" |
| 12 | Remco Evenepoel (BEL) | Soudal–Quick-Step | + 16' 44" |
| 13 | Cristián Rodríguez (ESP) | Arkéa–Samsic | + 22' 13" |
| 14 | Marc Soler (ESP) | UAE Team Emirates | + 25' 21" |
| 15 | Wout Poels (NED) | Team Bahrain Victorious | + 31' 00" |
| 16 | Einer Rubio (COL) | Movistar Team | + 34' 49" |
| 17 | Juan Pedro López (ESP) | Lidl–Trek | + 35' 47" |
| 18 | Antonio Tiberi (ITA) | Team Bahrain Victorious | + 50' 13" |
| 19 | Damiano Caruso (ITA) | Team Bahrain Victorious | + 53' 47" |
| 20 | Emanuel Buchmann (GER) | Bora–Hansgrohe | + 59' 02" |
| 21 | Romain Bardet (FRA) | Team dsm–firmenich | + 1h 02' 10" |
| 22 | Attila Valter (HUN) | Team Jumbo–Visma | + 1h 05' 42" |
| 23 | Hugh Carthy (GBR) | EF Education–EasyPost | + 1h 19' 25" |
| 24 | Lenny Martinez (FRA) | Groupama–FDJ | + 1h 21' 41" |
| 25 | Wilco Kelderman (NED) | Team Jumbo–Visma | + 1h 24' 38" |
| 26 | Paul Ourselin (FRA) | Team TotalEnergies | + 1h 28' 13" |
| 27 | Nicolas Prodhomme (FRA) | AG2R Citroën Team | + 1h 29' 05" |
| 28 | Rémy Rochas (FRA) | Cofidis | + 1h 29' 27" |
| 29 | Rudy Molard (FRA) | Groupama–FDJ | + 1h 33' 14" |
| 30 | Lennard Kämna (GER) | Bora–Hansgrohe | + 1h 38' 06" |
| 31 | Geraint Thomas (GBR) | Ineos Grenadiers | + 1h 47' 59" |
| 32 | Lennert Van Eetvelt (BEL) | Lotto–Dstny | + 1h 48' 52" |
| 33 | Louis Vervaeke (BEL) | Soudal–Quick-Step | + 1h 49' 44" |
| 34 | Mattia Cattaneo (ITA) | Soudal–Quick-Step | + 1h 51' 42" |
| 35 | Ben Zwiehoff (GER) | Bora–Hansgrohe | + 1h 52' 28" |
| 36 | Fabien Doubey (FRA) | Team TotalEnergies | + 1h 56' 08" |
| 37 | Pelayo Sánchez (ESP) | Burgos BH | + 1h 56' 27" |
| 38 | Jan Tratnik (SLO) | Team Jumbo–Visma | + 1h 57' 16" |
| 39 | Daniel Navarro (ESP) | Burgos BH | + 1h 57' 40" |
| 40 | Finn Fisher-Black (NZL) | UAE Team Emirates | + 1h 58' 23" |
| 41 | Rui Costa (POR) | Intermarché–Circus–Wanty | + 1h 59' 20" |
| 42 | Romain Grégoire (FRA) | Groupama–FDJ | + 2h 01' 38" |
| 43 | Sergio Higuita (COL) | Bora–Hansgrohe | + 2h 08' 05" |
| 44 | Larry Warbasse (USA) | AG2R Citroën Team | + 2h 09' 29" |
| 45 | Michael Storer (AUS) | Groupama–FDJ | + 2h 13' 42" |
| 46 | Andrey Zeits (KAZ) | Astana Qazaqstan Team | + 2h 14' 13" |
| 47 | Jonathan Kléver Caicedo (ECU) | EF Education–EasyPost | + 2h 15' 49" |
| 48 | Fernando Barceló (ESP) | Caja Rural–Seguros RGA | + 2h 17' 00" |
| 49 | Max Poole (GBR) | Team dsm–firmenich | + 2h 17' 18" |
| 50 | Kenny Elissonde (FRA) | Lidl–Trek | + 2h 18' 25" |
| 51 | Dorian Godon (FRA) | AG2R Citroën Team | + 2h 19' 07" |
| 52 | Robert Gesink (NED) | Team Jumbo–Visma | + 2h 19' 43" |
| 53 | Nelson Oliveira (POR) | Movistar Team | + 2h 20' 10" |
| 54 | Rubén Fernández (ESP) | Cofidis | + 2h 21' 26" |
| 55 | Egan Bernal (COL) | Ineos Grenadiers | + 2h 22' 50" |
| 56 | Mikaël Cherel (FRA) | AG2R Citroën Team | + 2h 24' 19" |
| 57 | Joe Dombrowski (USA) | Astana Qazaqstan Team | + 2h 26' 13" |
| 58 | Simone Petilli (ITA) | Intermarché–Circus–Wanty | + 2h 27' 46" |
| 59 | Jan Hirt (CZE) | Soudal–Quick-Step | + 2h 29' 04" |
| 60 | Jonathan Castroviejo (ESP) | Ineos Grenadiers | + 2h 29' 11" |
| 61 | Luis León Sánchez (ESP) | Astana Qazaqstan Team | + 2h 36' 29" |
| 62 | Ander Okamika (ESP) | Burgos BH | + 2h 36' 34" |
| 63 | Chris Hamilton (AUS) | Team dsm–firmenich | + 2h 36' 47" |
| 64 | José Manuel Díaz (ESP) | Burgos BH | + 2h 37' 04" |
| 65 | James Knox (GBR) | Soudal–Quick-Step | + 2h 38' 31" |
| 66 | Michel Ries (LUX) | Arkéa–Samsic | + 2h 38' 52" |
| 67 | Andreas Kron (DEN) | Lotto–Dstny | + 2h 41' 49" |
| 68 | Julien Bernard (FRA) | Lidl–Trek | + 2h 43' 57" |
| 69 | Andrea Piccolo (ITA) | EF Education–EasyPost | + 2h 44' 14" |
| 70 | Felix Engelhardt (GER) | Team Jayco–AlUla | + 2h 44' 35" |
| 71 | Jasha Sütterlin (GER) | Team Bahrain Victorious | + 2h 46' 56" |
| 72 | Iván García (ESP) | Movistar Team | + 2h 47' 04" |
| 73 | Élie Gesbert (FRA) | Arkéa–Samsic | + 2h 48' 24" |
| 74 | Jon Barrenetxea (ESP) | Caja Rural–Seguros RGA | + 2h 48' 51" |
| 75 | Łukasz Owsian (POL) | Arkéa–Samsic | + 2h 49' 48" |
| 76 | Fabio Felline (ITA) | Astana Qazaqstan Team | + 2h 50' 18" |
| 77 | Abel Balderstone (ESP) | Caja Rural–Seguros RGA | + 2h 50' 22" |
| 78 | Imanol Erviti (ESP) | Movistar Team | + 2h 51' 33" |
| 79 | Bauke Mollema (NED) | Lidl–Trek | + 2h 51' 48" |
| 80 | Sean Quinn (USA) | EF Education–EasyPost | + 2h 52' 02" |
| 81 | Oier Lazkano (ESP) | Movistar Team | + 2h 56' 45" |
| 82 | Amanuel Ghebreigzabhier (ERI) | Lidl–Trek | + 2h 57' 43" |
| 83 | Jesús Herrada (ESP) | Cofidis | + 2h 59' 47" |
| 84 | Diego Andrés Camargo (COL) | EF Education–EasyPost | + 3h 00' 24" |
| 85 | Lorenzo Germani (ITA) | Groupama–FDJ | + 3h 01' 05" |
| 86 | Matteo Sobrero (ITA) | Team Jayco–AlUla | + 3h 01' 23" |
| 87 | Jorge Arcas (ESP) | Movistar Team | + 3h 01' 28" |
| 88 | Dylan van Baarle (NED) | Team Jumbo–Visma | + 3h 02' 37" |
| 89 | Jesús Ezquerra (ESP) | Burgos BH | + 3h 05' 57" |
| 90 | Mathis Le Berre (FRA) | Arkéa–Samsic | + 3h 11' 23" |
| 91 | Vadim Pronskiy (KAZ) | Astana Qazaqstan Team | + 3h 12' 40" |
| 92 | Jacopo Mosca (ITA) | Lidl–Trek | + 3h 13' 12" |
| 93 | Jonas Koch (GER) | Bora–Hansgrohe | + 3h 16' 08" |
| 94 | Sylvain Moniquet (BEL) | Lotto–Dstny | + 3h 16' 23" |
| 95 | Andrea Vendrame (ITA) | AG2R Citroën Team | + 3h 17' 26" |
| 96 | Pieter Serry (BEL) | Soudal–Quick-Step | + 3h 18' 17" |
| 97 | Nico Denz (GER) | Bora–Hansgrohe | + 3h 20' 12" |
| 98 | Julius Johansen (DEN) | Intermarché–Circus–Wanty | + 3h 20' 38" |
| 99 | Thomas De Gendt (BEL) | Lotto–Dstny | + 3h 22' 23" |
| 100 | Joel Nicolau (ESP) | Caja Rural–Seguros RGA | + 3h 25' 22" |
| 101 | Geoffrey Soupe (FRA) | Team TotalEnergies | + 3h 25' 38" |
| 102 | Eduardo Sepúlveda (ARG) | Lotto–Dstny | + 3h 26' 22" |
| 103 | Kévin Ledanois (FRA) | Arkéa–Samsic | + 3h 29' 13" |
| 104 | Filippo Ganna (ITA) | Ineos Grenadiers | + 3h 29' 23" |
| 105 | Lewis Askey (GBR) | Groupama–FDJ | + 3h 34' 07" |
| 106 | David González (ESP) | Caja Rural–Seguros RGA | + 3h 35' 12" |
| 107 | Dries Van Gestel (BEL) | Team TotalEnergies | + 3h 35' 34" |
| 108 | Cyril Barthe (FRA) | Burgos BH | + 3h 37' 20" |
| 109 | Paul Lapeira (FRA) | AG2R Citroën Team | + 3h 37' 49" |
| 110 | Jetse Bol (NED) | Burgos BH | + 3h 38' 49" |
| 111 | Hugo Hofstetter (FRA) | Arkéa–Samsic | + 3h 41' 43" |
| 112 | Jimmy Janssens (BEL) | Alpecin–Deceuninck | + 3h 42' 07" |
| 113 | Otto Vergaerde (BEL) | Lidl–Trek | + 3h 42' 47" |
| 114 | Michal Schlegel (CZE) | Caja Rural–Seguros RGA | + 3h 43' 03" |
| 115 | Omar Fraile (ESP) | Ineos Grenadiers | + 3h 43' 40" |
| 116 | Sean Flynn (GBR) | Team dsm–firmenich | + 3h 46' 39" |
| 117 | Stefan Bissegger (SUI) | EF Education–EasyPost | + 3h 49' 54" |
| 118 | Sébastien Grignard (BEL) | Lotto–Dstny | + 3h 52' 09" |
| 119 | Romain Combaud (FRA) | Team dsm–firmenich | + 3h 52' 10" |
| 120 | Julius van den Berg (NED) | EF Education–EasyPost | + 3h 55' 05" |
| 121 | Samuele Battistella (ITA) | Astana Qazaqstan Team | + 3h 55' 44" |
| 122 | Kaden Groves (AUS) | Alpecin–Deceuninck | + 3h 55' 48" |
| 123 | Samuel Watson (GBR) | Groupama–FDJ | + 3h 56' 03" |
| 124 | Boy van Poppel (NED) | Intermarché–Circus–Wanty | + 3h 56' 20" |
| 125 | François Bidard (FRA) | Cofidis | + 3h 57' 47" |
| 126 | Marijn van den Berg (NED) | EF Education–EasyPost | + 3h 57' 58" |
| 127 | Hugo Page (FRA) | Intermarché–Circus–Wanty | + 3h 58' 16" |
| 128 | Edward Theuns (BEL) | Lidl–Trek | + 3h 58' 20" |
| 129 | Eric Fagúndez (URU) | Burgos BH | + 4h 00' 37" |
| 130 | Kamil Gradek (POL) | Team Bahrain Victorious | + 4h 00' 43" |
| 131 | Jason Osborne (GER) | Alpecin–Deceuninck | + 4h 01' 48" |
| 132 | José Herrada (ESP) | Cofidis | + 4h 04' 20" |
| 133 | Matevž Govekar (SLO) | Team Bahrain Victorious | + 4h 04' 42" |
| 134 | André Carvalho (POR) | Cofidis | + 4h 05' 13" |
| 135 | Clément Davy (FRA) | Groupama–FDJ | + 4h 07' 49" |
| 136 | Edward Planckaert (BEL) | Alpecin–Deceuninck | + 4h 07' 53" |
| 137 | Jan Maas (NED) | Team Jayco–AlUla | + 4h 08' 47" |
| 138 | Domen Novak (SLO) | UAE Team Emirates | + 4h 08' 58" |
| 139 | Kim Heiduk (GER) | Ineos Grenadiers | + 4h 10' 09" |
| 140 | Casper Pedersen (DEN) | Soudal–Quick-Step | + 4h 13' 57" |
| 141 | Tobias Bayer (AUT) | Alpecin–Deceuninck | + 4h 15' 43" |
| 142 | Milan Menten (BEL) | Lotto–Dstny | + 4h 16' 43" |
| 143 | Maurice Ballerstedt (GER) | Alpecin–Deceuninck | + 4h 22' 11" |
| 144 | Alberto Dainese (ITA) | Team dsm–firmenich | + 4h 25' 39" |
| 145 | Jarrad Drizners (AUS) | Lotto–Dstny | + 4h 25' 50" |
| 146 | Davide Cimolai (ITA) | Cofidis | + 4h 26' 25" |
| 147 | Juan Sebastián Molano (COL) | UAE Team Emirates | + 4h 27' 41" |
| 148 | Rui Oliveira (POR) | UAE Team Emirates | + 4h 32' 55" |

### Points classification

Final points classification (1–10) :
| Rank | Rider | Team | Points |
| 1 | Kaden Groves (AUS) | Alpecin–Deceuninck | 315 |
| 2 | Remco Evenepoel (BEL) | Soudal–Quick-Step | 236 |
| 3 | Andreas Kron (DEN) | Lotto–Dstny | 167 |
| 4 | Marc Soler (ESP) | UAE Team Emirates | 133 |
| 5 | Jonas Vingegaard (DEN) | Team Jumbo–Visma | 123 |
| 6 | Filippo Ganna (ITA) | Ineos Grenadiers | 119 |
| 7 | Primož Roglič (SLO) | Team Jumbo–Visma | 117 |
| 8 | Marijn van den Berg (NED) | EF Education–EasyPost | 117 |
| 9 | Sepp Kuss (USA) | Team Jumbo–Visma | 112 |
| 10 | Juan Ayuso (ESP) | UAE Team Emirates | 105 |

### Mountains classification

Final mountains classification (1–10) :
| Rank | Rider | Team | Points |
| 1 | Remco Evenepoel (BEL) | Soudal–Quick-Step | 135 |
| 2 | Jonas Vingegaard (DEN) | Team Jumbo–Visma | 51 |
| 3 | Michael Storer (AUS) | Groupama–FDJ | 39 |
| 4 | Romain Bardet (FRA) | Team dsm–firmenich | 35 |
| 5 | Primož Roglič (SLO) | Team Jumbo–Visma | 33 |
| 6 | Sepp Kuss (USA) | Team Jumbo–Visma | 33 |
| 7 | Damiano Caruso (ITA) | Team Bahrain Victorious | 30 |
| 8 | Andreas Kron (DEN) | Lotto–Dstny | 28 |
| 9 | Eduardo Sepúlveda (ARG) | Lotto–Dstny | 23 |
| 10 | Jesús Herrada (ESP) | Cofidis | 22 |

### Young rider classification

Final young rider classification (1–10) :
| Rank | Rider | Team | Time |
| 1 | Juan Ayuso (ESP) | UAE Team Emirates | 76h 51' 39" |
| 2 | Cian Uijtdebroeks (BEL) | Bora–Hansgrohe | + 4' 42" |
| 3 | João Almeida (POR) | UAE Team Emirates | + 6' 40" |
| 4 | Santiago Buitrago (COL) | Team Bahrain Victorious | + 8' 20" |
| 5 | Remco Evenepoel (BEL) | Soudal–Quick-Step | + 13' 26" |
| 6 | Einer Rubio (COL) | Movistar Team | + 31' 31" |
| 7 | Antonio Tiberi (ITA) | Team Bahrain Victorious | + 46' 55" |
| 8 | Attila Valter (HUN) | Team Jumbo–Visma | + 1h 02' 24" |
| 9 | Lenny Martinez (FRA) | Groupama–FDJ | + 1h 18' 23" |
| 10 | Lennert Van Eetvelt (BEL) | Lotto–Dstny | + 1h 45' 34" |

### Team classification

Final team classification (1–10) :
| Rank | Team | Time |
| 1 | Team Jumbo–Visma | 229h 42' 26" |
| 2 | Team Bahrain Victorious | + 20' 49" |
| 3 | Bora–Hansgrohe | + 32' 54" |
| 4 | UAE Team Emirates | + 33' 46" |
| 5 | Movistar Team | + 2h 17' 23" |
| 6 | Soudal–Quick-Step | + 3h 18' 27" |
| 7 | Team TotalEnergies | + 3h 25' 09" |
| 8 | Groupama–FDJ | + 3h 42' 37" |
| 9 | Lidl–Trek | + 4h 00' 16" |
| 10 | Arkéa–Samsic | + 4h 23' 23" |