# List of teams and cyclists in the 2024 Vuelta a España

The following is a list of teams and cyclists who participated in the 2024 Vuelta a España.

## Teams

UCI WorldTeams
* Alpecin–Deceuninck
* Arkéa–B&B Hotels
* Astana Qazaqstan Team
* Cofidis
* Decathlon–AG2R La Mondiale
* EF Education–EasyPost
* Groupama–FDJ
* Ineos Grenadiers
* Intermarché–Wanty
* Lidl–Trek
* Movistar Team
* Red Bull–Bora–Hansgrohe
* Soudal–Quick-Step
* Team Bahrain Victorious
* Team dsm–firmenich PostNL
* Team Jayco–AlUla
* Visma–Lease a Bike
* UAE Team Emirates
UCI ProTeams
* Equipo Kern Pharma
* Euskaltel–Euskadi
* Israel–Premier Tech
* Lotto–Dstny

## Cyclists

Legend :
| No. | Starting number worn by the rider during the Vuelta |
| Pos. | Position in the general classification |
| Time | Deficit to the winner of the general classification |
| ‡ | Denotes riders born on or after 1 January 1999, and thus eligible for the young rider classification |
| | Denotes the winner of the general classification |
| | Denotes the winner of the points classification |
| | Denotes the winner of the mountains classification |
| | Denotes the winner of the young rider classification |
| | Denotes the winner of the team classification |
| | Denotes the winner of the combativity award |
| DNS | Denotes a rider who did not start, followed by the stage before which he withdrew |
| DNF | Denotes a rider who did not finish, followed by the stage in which he withdrew |
| DSQ | Denotes a rider who was disqualified from the race, followed by the stage in which this occurred |
| OTL | Denotes a rider who finished outside the time limit, followed by the stage in which he did so |
| Ages correct as of Saturday 17 August 2024, the date on which the Vuelta began ||

### By starting number

| No. | Name | Nationality | Team | Age | Pos. | Time |
| 1 | Sepp Kuss | United States | Visma–Lease a Bike | 29 | 14 | + 20' 25" |
| 2 | Edoardo Affini | Italy | Visma–Lease a Bike | 28 | 119 | + 4h 36' 53" |
| 3 | Robert Gesink | Netherlands | Visma–Lease a Bike | 38 | 52 | + 2h 34' 22" |
| 4 | Steven Kruijswijk | Netherlands | Visma–Lease a Bike | 37 | 19 | + 1h 01' 53" |
| 5 | Cian Uijtdebroeks ‡ | Belgium | Visma–Lease a Bike | 21 | DNS-15 | – |
| 6 | Attila Valter | Hungary | Visma–Lease a Bike | 26 | 25 | + 1h 22' 31" |
| 7 | Wout van Aert | Belgium | Visma–Lease a Bike | 29 | DNF-16 | – |
| 8 | Dylan van Baarle | Netherlands | Visma–Lease a Bike | 32 | DNF-2 | – |
| 11 | João Almeida | Portugal | UAE Team Emirates | 26 | DNS-9 | – |
| 12 | Filippo Baroncini ‡ | Italy | UAE Team Emirates | 23 | 66 | + 3h 06' 20" |
| 13 | Isaac del Toro ‡ | Mexico | UAE Team Emirates | 20 | 36 | + 1h 57' 27" |
| 14 | Pavel Sivakov | France | UAE Team Emirates | 27 | 9 | + 10' 04" |
| 15 | Jay Vine | Australia | UAE Team Emirates | 28 | 57 | + 2h 42' 13" |
| 16 | Adam Yates | Great Britain | UAE Team Emirates | 32 | 12 | + 15' 40" |
| 17 | Brandon McNulty | United States | UAE Team Emirates | 26 | 54 | + 2h 37' 44" |
| 18 | Marc Soler | Spain | UAE Team Emirates | 30 | 41 | + 2h 10' 37" |
| 21 | Thymen Arensman ‡ | Netherlands | Ineos Grenadiers | 24 | DNS-11 | – |
| 22 | Laurens De Plus | Belgium | Ineos Grenadiers | 28 | DNS-10 | – |
| 23 | Kim Heiduk ‡ | Germany | Ineos Grenadiers | 24 | 107 | + 4h 12' 43" |
| 24 | Jhonatan Narváez | Ecuador | Ineos Grenadiers | 27 | 50 | + 2h 26' 46" |
| 25 | Brandon Rivera | Colombia | Ineos Grenadiers | 28 | 95 | + 3h 55' 58" |
| 26 | Carlos Rodríguez ‡ | Spain | Ineos Grenadiers | 23 | 10 | + 11' 19" |
| 27 | Óscar Rodríguez | Spain | Ineos Grenadiers | 29 | 24 | + 1h 16' 05" |
| 28 | Josh Tarling ‡ | Great Britain | Ineos Grenadiers | 20 | DNF-9 | – |
| 31 | Mikel Landa | Spain | Soudal–Quick-Step | 34 | 8 | + 8' 48" |
| 32 | Kasper Asgreen | Denmark | Soudal–Quick-Step | 29 | 120 | + 4h 39' 48" |
| 33 | Mattia Cattaneo | Italy | Soudal–Quick-Step | 33 | 23 | + 1h 13' 28" |
| 34 | James Knox | Great Britain | Soudal–Quick-Step | 28 | 67 | + 3h 07' 33" |
| 35 | William Junior Lecerf ‡ | Belgium | Soudal–Quick-Step | 21 | 44 | + 2h 15' 24" |
| 36 | Casper Pedersen | Denmark | Soudal–Quick-Step | 28 | 127 | + 5h 01' 24" |
| 37 | Mauri Vansevenant ‡ | Belgium | Soudal–Quick-Step | 25 | 49 | + 2h 24' 54" |
| 38 | Louis Vervaeke | Belgium | Soudal–Quick-Step | 30 | 59 | + 2h 47' 05" |
| 41 | Mattias Skjelmose ‡ | Denmark | Lidl–Trek | 23 | 5 | + 5' 49" |
| 42 | Giulio Ciccone | Italy | Lidl–Trek | 29 | DNF-10 | – |
| 43 | Tao Geoghegan Hart | Great Britain | Lidl–Trek | 29 | 62 | + 2h 51' 50" |
| 44 | Patrick Konrad | Austria | Lidl–Trek | 32 | DNS-11 | – |
| 45 | Sam Oomen | Netherlands | Lidl–Trek | 29 | 33 | + 1h 51' 52" |
| 46 | Mathias Vacek ‡ | Czechia | Lidl–Trek | 22 | 61 | + 2h 51' 36" |
| 47 | Otto Vergaerde | Belgium | Lidl–Trek | 30 | 93 | + 3h 53' 02" |
| 48 | Carlos Verona | Spain | Lidl–Trek | 31 | 32 | + 1h 50' 59" |
| 51 | Ben O'Connor | Australia | Decathlon–AG2R La Mondiale | 28 | 2 | + 2' 36" |
| 52 | Bruno Armirail | France | Decathlon–AG2R La Mondiale | 30 | 69 | + 3h 09' 03" |
| 53 | Clément Berthet | France | Decathlon–AG2R La Mondiale | 27 | 20 | + 1h 04' 13" |
| 54 | Geoffrey Bouchard | France | Decathlon–AG2R La Mondiale | 32 | 108 | + 4h 15' 26" |
| 55 | Sander De Pestel | Belgium | Decathlon–AG2R La Mondiale | 25 | DNS-17 | – |
| 56 | Felix Gall | Austria | Decathlon–AG2R La Mondiale | 26 | 29 | + 1h 42' 00" |
| 57 | Victor Lafay | France | Decathlon–AG2R La Mondiale | 28 | 109 | + 4h 15' 45" |
| 58 | Valentin Paret-Peintre ‡ | France | Decathlon–AG2R La Mondiale | 23 | 45 | + 2h 17' 55" |
| 61 | Primož Roglič | Slovenia | Red Bull–Bora–Hansgrohe | 34 | 1 | 81h 49' 18" |
| 62 | Roger Adrià | Spain | Red Bull–Bora–Hansgrohe | 26 | 43 | + 2h 12' 41" |
| 63 | Giovanni Aleotti ‡ | Italy | Red Bull–Bora–Hansgrohe | 25 | 38 | + 2h 00' 03" |
| 64 | Nico Denz | Germany | Red Bull–Bora–Hansgrohe | 30 | OTL-20 | – |
| 65 | Patrick Gamper | Austria | Red Bull–Bora–Hansgrohe | 27 | DNF-20 | – |
| 66 | Florian Lipowitz ‡ | Germany | Red Bull–Bora–Hansgrohe | 23 | 7 | + 7' 05" |
| 67 | Daniel Martínez | Colombia | Red Bull–Bora–Hansgrohe | 28 | DNF-20 | – |
| 68 | Aleksandr Vlasov | | Red Bull–Bora–Hansgrohe | 28 | 18 | + 55' 05" |
| 71 | Kaden Groves | Australia | Alpecin–Deceuninck | 25 | 100 | + 4h 05' 32" |
| 72 | Maurice Ballerstedt ‡ | Germany | Alpecin–Deceuninck | 23 | 126 | + 4h 55' 15" |
| 73 | Quinten Hermans | Belgium | Alpecin–Deceuninck | 29 | 80 | + 3h 27' 33" |
| 74 | Juri Hollmann ‡ | Germany | Alpecin–Deceuninck | 24 | 96 | + 3h 57' 33" |
| 75 | Xandro Meurisse | Belgium | Alpecin–Deceuninck | 32 | 55 | + 2h 38' 10" |
| 76 | Edward Planckaert | Belgium | Alpecin–Deceuninck | 29 | 116 | + 4h 33' 11" |
| 77 | Oscar Riesebeek | Netherlands | Alpecin–Deceuninck | 31 | 130 | + 5h 04' 06" |
| 78 | Luca Vergallito | Italy | Alpecin–Deceuninck | 26 | 105 | + 4h 11' 26" |
| 81 | Michael Woods | Canada | Israel–Premier Tech | 37 | DNS-17 | – |
| 82 | George Bennett | New Zealand | Israel–Premier Tech | 34 | 34 | + 1h 52' 43" |
| 83 | Marco Frigo ‡ | Italy | Israel–Premier Tech | 24 | 53 | + 2h 36' 15" |
| 84 | Nadav Raisberg ‡ | Israel | Israel–Premier Tech | 23 | 113 | + 4h 25' 35" |
| 85 | Matthew Riccitello ‡ | United States | Israel–Premier Tech | 22 | 30 | + 1h 46' 37" |
| 86 | Riley Sheehan ‡ | United States | Israel–Premier Tech | 24 | 123 | + 4h 45' 08" |
| 87 | Corbin Strong ‡ | New Zealand | Israel–Premier Tech | 24 | DNS-18 | – |
| 88 | Dylan Teuns | Belgium | Israel–Premier Tech | 32 | 74 | + 3h 12' 45" |
| 91 | Lennert Van Eetvelt ‡ | Belgium | Lotto–Dstny | 23 | DNS-12 | – |
| 92 | Victor Campenaerts | Belgium | Lotto–Dstny | 32 | 111 | + 4h 19' 08" |
| 93 | Thomas De Gendt | Belgium | Lotto–Dstny | 37 | 88 | + 3h 45' 35" |
| 94 | Andreas Kron | Denmark | Lotto–Dstny | 26 | DNS-7 | – |
| 95 | Arjen Livyns | Belgium | Lotto–Dstny | 29 | 91 | + 3h 51' 39" |
| 96 | Sylvain Moniquet | Belgium | Lotto–Dstny | 26 | 110 | + 4h 18' 08" |
| 97 | Eduardo Sepúlveda | Argentina | Lotto–Dstny | 33 | 86 | + 3h 39' 48" |
| 98 | Jonas Gregaard | Denmark | Lotto–Dstny | 28 | 77 | + 3h 25' 36" |
| 101 | David Gaudu | France | Groupama–FDJ | 27 | 6 | + 6' 32" |
| 102 | Sven Erik Bystrøm | Norway | Groupama–FDJ | 32 | 117 | + 4h 34' 06" |
| 103 | Kevin Geniets | Luxembourg | Groupama–FDJ | 27 | DNF-12 | – |
| 104 | Lorenzo Germani ‡ | Italy | Groupama–FDJ | 22 | 97 | + 3h 59' 24" |
| 105 | Stefan Küng | Switzerland | Groupama–FDJ | 30 | 39 | + 2h 01' 27" |
| 106 | Quentin Pacher | France | Groupama–FDJ | 32 | 21 | + 1h 09' 30" |
| 107 | Rémy Rochas | France | Groupama–FDJ | 28 | DNF-16 | – |
| 108 | Reuben Thompson ‡ | New Zealand | Groupama–FDJ | 23 | 94 | + 3h 55' 28" |
| 111 | Richard Carapaz | Ecuador | EF Education–EasyPost | 31 | 4 | + 4' 02" |
| 112 | Rui Costa | Portugal | EF Education–EasyPost | 37 | DNF-5 | – |
| 113 | Owain Doull | Great Britain | EF Education–EasyPost | 31 | 118 | + 4h 36' 34" |
| 114 | Darren Rafferty ‡ | Ireland | EF Education–EasyPost | 21 | 75 | + 3h 12' 47" |
| 115 | James Shaw | Great Britain | EF Education–EasyPost | 28 | 98 | + 4h 00' 47" |
| 116 | Harry Sweeny | Australia | EF Education–EasyPost | 26 | 78 | + 3h 27' 12" |
| 117 | Rigoberto Urán | Colombia | EF Education–EasyPost | 37 | DNF-6 | – |
| 118 | Jefferson Alexander Cepeda | Ecuador | EF Education–EasyPost | 26 | 46 | + 2h 21' 31" |
| 121 | Enric Mas | Spain | Movistar Team | 29 | 3 | + 3' 13" |
| 122 | Jorge Arcas | Spain | Movistar Team | 32 | 112 | + 4h 21' 42" |
| 123 | Carlos Canal ‡ | Spain | Movistar Team | 23 | 70 | + 3h 09' 06" |
| 124 | Oier Lazkano ‡ | Spain | Movistar Team | 24 | 92 | + 3h 52' 00" |
| 125 | Nelson Oliveira | Portugal | Movistar Team | 35 | 73 | + 3h 11' 45" |
| 126 | Nairo Quintana | Colombia | Movistar Team | 34 | 31 | + 1h 49' 11" |
| 127 | Einer Rubio | Colombia | Movistar Team | 26 | 27 | + 1h 39' 22" |
| 128 | Pelayo Sánchez ‡ | Spain | Movistar Team | 24 | DNF-15 | – |
| 131 | Antonio Tiberi ‡ | Italy | Team Bahrain Victorious | 23 | DNF-9 | – |
| 132 | Damiano Caruso | Italy | Team Bahrain Victorious | 36 | DNS-7 | – |
| 133 | Kamil Gradek | Poland | Team Bahrain Victorious | 33 | 133 | + 5h 14' 00" |
| 134 | Jack Haig | Australia | Team Bahrain Victorious | 30 | 22 | + 1h 11' 45" |
| 135 | Rainer Kepplinger | Austria | Team Bahrain Victorious | 26 | DNF-9 | – |
| 136 | Fran Miholjević ‡ | Croatia | Team Bahrain Victorious | 22 | 87 | + 3h 42' 50" |
| 137 | Jasha Sütterlin | Germany | Team Bahrain Victorious | 31 | 121 | + 4h 42' 07" |
| 138 | Torstein Træen | Norway | Team Bahrain Victorious | 29 | 60 | + 2h 50' 48" |
| 141 | Eddie Dunbar | Ireland | Team Jayco–AlUla | 27 | 11 | + 14' 40" |
| 142 | Welay Berhe ‡ | Ethiopia | Team Jayco–AlUla | 22 | DNS-13 | – |
| 143 | Alessandro De Marchi | Italy | Team Jayco–AlUla | 38 | 125 | + 4h 53' 56" |
| 144 | Felix Engelhardt ‡ | Germany | Team Jayco–AlUla | 23 | 103 | + 4h 09' 17" |
| 145 | Chris Harper | Australia | Team Jayco–AlUla | 29 | DNF-11 | – |
| 146 | Mauro Schmid ‡ | Switzerland | Team Jayco–AlUla | 24 | 71 | + 3h 10' 41" |
| 147 | Callum Scotson | Australia | Team Jayco–AlUla | 28 | DNS-16 | – |
| 148 | Filippo Zana ‡ | Italy | Team Jayco–AlUla | 25 | 56 | + 2h 39' 10" |
| 151 | Cristián Rodríguez | Spain | Arkéa–B&B Hotels | 29 | 13 | + 19' 48" |
| 152 | Élie Gesbert | France | Arkéa–B&B Hotels | 29 | DNS-8 | – |
| 153 | Thibault Guernalec | France | Arkéa–B&B Hotels | 27 | 132 | + 5h 04' 48" |
| 154 | Simon Guglielmi | France | Arkéa–B&B Hotels | 27 | 47 | + 2h 22' 12" |
| 155 | Laurens Huys | Belgium | Arkéa–B&B Hotels | 25 | 79 | + 3h 27' 30" |
| 156 | Mathis Le Berre ‡ | France | Arkéa–B&B Hotels | 23 | 76 | + 3h 23' 22" |
| 157 | Łukasz Owsian | Poland | Arkéa–B&B Hotels | 34 | 89 | + 3h 45' 45" |
| 158 | Michel Ries | Luxembourg | Arkéa–B&B Hotels | 26 | DNF-13 | – |
| 161 | Louis Meintjes | South Africa | Intermarché–Wanty | 32 | 28 | + 1h 39' 37" |
| 162 | Vito Braet ‡ | Belgium | Intermarché–Wanty | 23 | 81 | + 3h 32' 34" |
| 163 | Kobe Goossens | Belgium | Intermarché–Wanty | 28 | DNS-10 | – |
| 164 | Arne Marit ‡ | Belgium | Intermarché–Wanty | 25 | 122 | + 4h 42' 18" |
| 165 | Tom Paquot ‡ | Belgium | Intermarché–Wanty | 24 | DNS-16 | – |
| 166 | Simone Petilli | Italy | Intermarché–Wanty | 31 | 90 | + 3h 46' 39" |
| 167 | Lorenzo Rota | Italy | Intermarché–Wanty | 29 | DNS-11 | – |
| 168 | Rein Taaramäe | Estonia | Intermarché–Wanty | 37 | DNF-18 | – |
| 171 | Max Poole ‡ | Great Britain | Team dsm–firmenich PostNL | 21 | 35 | + 1h 56' 35" |
| 172 | Pavel Bittner ‡ | Czechia | Team dsm–firmenich PostNL | 21 | 115 | + 4h 31' 33" |
| 173 | Chris Hamilton | Australia | Team dsm–firmenich PostNL | 29 | 68 | + 3h 08' 16" |
| 174 | Gijs Leemreize ‡ | Netherlands | Team dsm–firmenich PostNL | 24 | 84 | + 3h 37' 54" |
| 175 | Enzo Leijnse ‡ | Netherlands | Team dsm–firmenich PostNL | 23 | 129 | + 5h 02' 45" |
| 176 | Tim Naberman ‡ | Netherlands | Team dsm–firmenich PostNL | 25 | 135 | + 5h 21' 03" |
| 177 | Martijn Tusveld | Netherlands | Team dsm–firmenich PostNL | 30 | 63 | + 2h 54' 38" |
| 178 | Julius van den Berg | Netherlands | Team dsm–firmenich PostNL | 27 | 131 | + 5h 04' 41" |
| 181 | Guillaume Martin | France | Cofidis | 31 | 15 | + 31' 34" |
| 182 | Thomas Champion ‡ | France | Cofidis | 24 | 82 | + 3h 36' 16" |
| 183 | Bryan Coquard | France | Cofidis | 32 | DNF-8 | – |
| 184 | Rubén Fernández | Spain | Cofidis | 33 | DNS-14 | – |
| 185 | Ion Izagirre | Spain | Cofidis | 35 | 37 | + 1h 59' 25" |
| 186 | Jesús Herrada | Spain | Cofidis | 34 | 85 | + 3h 39' 38" |
| 187 | Jonathan Lastra | Spain | Cofidis | 31 | DNS-13 | – |
| 188 | Kenny Elissonde | France | Cofidis | 33 | DNF-6 | – |
| 191 | Lorenzo Fortunato | Italy | Astana Qazaqstan Team | 28 | 16 | + 40' 43" |
| 192 | Gleb Brussenskiy ‡ | Kazakhstan | Astana Qazaqstan Team | 24 | 124 | + 4h 45' 35" |
| 193 | Gianmarco Garofoli ‡ | Italy | Astana Qazaqstan Team | 21 | 48 | + 2h 22' 25" |
| 194 | Harold Martín López ‡ | Ecuador | Astana Qazaqstan Team | 23 | DNS-10 | – |
| 195 | Ide Schelling | Netherlands | Astana Qazaqstan Team | 26 | 134 | + 5h 19' 49" |
| 196 | Harold Tejada | Colombia | Astana Qazaqstan Team | 27 | 40 | + 2h 09' 03" |
| 197 | Santiago Umba ‡ | Colombia | Astana Qazaqstan Team | 21 | 106 | + 4h 11' 48" |
| 198 | Nicolas Vinokurov ‡ | Kazakhstan | Astana Qazaqstan Team | 22 | 128 | + 5h 02' 17" |
| 201 | Urko Berrade | Spain | Equipo Kern Pharma | 26 | 42 | + 2h 10' 47" |
| 202 | Pablo Castrillo ‡ | Spain | Equipo Kern Pharma | 23 | 64 | + 3h 00' 12" |
| 203 | Jorge Gutiérrez ‡ | Spain | Equipo Kern Pharma | 21 | 99 | + 4h 02' 04" |
| 204 | Unai Iribar ‡ | Spain | Equipo Kern Pharma | 25 | 83 | + 3h 37' 42" |
| 205 | Pau Miquel ‡ | Spain | Equipo Kern Pharma | 23 | 58 | + 2h 44' 50" |
| 206 | José Félix Parra | Spain | Equipo Kern Pharma | 27 | 17 | + 51' 33" |
| 207 | Ibon Ruiz ‡ | Spain | Equipo Kern Pharma | 25 | 101 | + 4h 06' 57" |
| 208 | Antonio Jesús Soto | Spain | Equipo Kern Pharma | 29 | 114 | + 4h 28' 52" |
| 211 | Txomin Juaristi | Spain | Euskaltel–Euskadi | 29 | DNF-20 | – |
| 212 | Jon Aberasturi | Spain | Euskaltel–Euskadi | 35 | DNF-6 | – |
| 213 | Xabier Berasategi ‡ | Spain | Euskaltel–Euskadi | 24 | 102 | + 4h 08' 31" |
| 214 | Mikel Bizkarra | Spain | Euskaltel–Euskadi | 34 | 26 | + 1h 37' 38" |
| 215 | Joan Bou | Spain | Euskaltel–Euskadi | 27 | 72 | + 3h 11' 05" |
| 216 | Xabier Isasa ‡ | Spain | Euskaltel–Euskadi | 22 | 104 | + 4h 09' 31" |
| 217 | Gotzon Martín | Spain | Euskaltel–Euskadi | 28 | 51 | + 2h 27' 06" |
| 218 | Luis Ángel Maté | Spain | Euskaltel–Euskadi | 40 | 65 | + 3h 02' 34" |

### By team

Visma–Lease a Bike (TVL) :
| Visma–Lease a Bike (TVL) No.RiderPos. 1  Sepp Kuss (USA) 14 2  Edoardo Affini (ITA) 119 3  Robert Gesink (NED) 52 4  Steven Kruijswijk (NED) 19 5  Cian Uijtdebroeks (BEL) DNS-15 6  Attila Valter (HUN) 25 7  Wout van Aert (BEL) DNF-16 8  Dylan van Baarle (NED) DNF-2 | UAE Team Emirates (UAD) No.RiderPos. 11  João Almeida (POR) DNS-9 12  Filippo Baroncini (ITA) 66 13  Isaac del Toro (MEX) 36 14  Pavel Sivakov (FRA) 9 15  Jay Vine (AUS) 57 16  Adam Yates (GBR) 12 17  Brandon McNulty (USA) 54 18  Marc Soler (ESP) 41 | Ineos Grenadiers (IGD) No.RiderPos. 21  Thymen Arensman (NED) DNS-11 22  Laurens De Plus (BEL) DNS-10 23  Kim Heiduk (GER) 107 24  Jhonatan Narváez (ECU) 50 25  Brandon Rivera (COL) 95 26  Carlos Rodríguez (ESP) 10 27  Óscar Rodríguez (ESP) 24 28  Joshua Tarling (GBR) DNF-9 |
| Soudal–Quick-Step (SOQ) No.RiderPos. 31  Mikel Landa (ESP) 8 32  Kasper Asgreen (DEN) 120 33  Mattia Cattaneo (ITA) 23 34  James Knox (GBR) 67 35  William Junior Lecerf (BEL) 44 36  Casper Pedersen (DEN) 127 37  Mauri Vansevenant (BEL) 49 38  Louis Vervaeke (BEL) 59 | Lidl–Trek (LTK) No.RiderPos. 41  Mattias Skjelmose (DEN) 5 42  Giulio Ciccone (ITA) DNF-10 43  Tao Geoghegan Hart (GBR) 62 44  Patrick Konrad (AUT) DNS-11 45  Sam Oomen (NED) 33 46  Mathias Vacek (CZE) 61 47  Otto Vergaerde (BEL) 93 48  Carlos Verona (ESP) 32 | Decathlon–AG2R La Mondiale (DAT) No.RiderPos. 51  Ben O'Connor (AUS) 2 52  Bruno Armirail (FRA) 69 53  Clément Berthet (FRA) 20 54  Geoffrey Bouchard (FRA) 108 55  Sander De Pestel (BEL) DNS-17 56  Felix Gall (AUT) 29 57  Victor Lafay (FRA) 109 58  Valentin Paret-Peintre (FRA) 45 |
| Red Bull–Bora–Hansgrohe (RBH) No.RiderPos. 61  Primož Roglič (SLO) 1 62  Roger Adrià (ESP) 43 63  Giovanni Aleotti (ITA) 38 64  Nico Denz (GER) OTL-20 65  Patrick Gamper (AUT) DNF-20 66  Florian Lipowitz (GER) 7 67  Daniel Martínez (COL) DNF-20 68 Aleksandr Vlasov 18 | Alpecin–Deceuninck (ADC) No.RiderPos. 71  Kaden Groves (AUS) 100 72  Maurice Ballerstedt (GER) 126 73  Quinten Hermans (BEL) 80 74  Juri Hollmann (GER) 96 75  Xandro Meurisse (BEL) 55 76  Edward Planckaert (BEL) 116 77  Oscar Riesebeek (NED) 130 78  Luca Vergallito (ITA) 105 | Israel–Premier Tech (IPT) No.RiderPos. 81  Michael Woods (CAN) DNS-17 82  George Bennett (NZL) 34 83  Marco Frigo (ITA) 53 84  Nadav Raisberg (ISR) 113 85  Matthew Riccitello (USA) 30 86  Riley Sheehan (USA) 123 87  Corbin Strong (NZL) DNS-18 88  Dylan Teuns (BEL) 74 |
| Lotto–Dstny (LTD) No.RiderPos. 91  Lennert Van Eetvelt (BEL) DNS-12 92  Victor Campenaerts (BEL) 111 93  Thomas De Gendt (BEL) 88 94  Andreas Kron (DEN) DNS-7 95  Arjen Livyns (BEL) 91 96  Sylvain Moniquet (BEL) 110 97  Eduardo Sepúlveda (ARG) 86 98  Jonas Gregaard (DEN) 77 | Groupama–FDJ (GFC) No.RiderPos. 101  David Gaudu (FRA) 6 102  Sven Erik Bystrøm (NOR) 117 103  Kevin Geniets (LUX) DNF-12 104  Lorenzo Germani (ITA) 97 105  Stefan Küng (SUI) 39 106  Quentin Pacher (FRA) 21 107  Rémy Rochas (FRA) DNF-16 108  Reuben Thompson (NZL) 94 | EF Education–EasyPost (EFE) No.RiderPos. 111  Richard Carapaz (ECU) 4 112  Rui Costa (POR) DNF-5 113  Owain Doull (GBR) 118 114  Darren Rafferty (IRL) 75 115  James Shaw (GBR) 98 116  Harry Sweeny (AUS) 78 117  Rigoberto Urán (COL) DNF-6 118  Jefferson Alexander Cepeda (ECU) 46 |
| Movistar Team (MOV) No.RiderPos. 121  Enric Mas (ESP) 3 122  Jorge Arcas (ESP) 112 123  Carlos Canal (ESP) 70 124  Oier Lazkano (ESP) 92 125  Nelson Oliveira (POR) 73 126  Nairo Quintana (COL) 31 127  Einer Rubio (COL) 27 128  Pelayo Sánchez (ESP) DNF-15 | Team Bahrain Victorious (TBV) No.RiderPos. 131  Antonio Tiberi (ITA) DNF-9 132  Damiano Caruso (ITA) DNS-7 133  Kamil Gradek (POL) 133 134  Jack Haig (AUS) 22 135  Rainer Kepplinger (AUT) DNF-9 136  Fran Miholjević (CRO) 87 137  Jasha Sütterlin (GER) 121 138  Torstein Træen (NOR) 60 | Team Jayco–AlUla (JAY) No.RiderPos. 141  Eddie Dunbar (IRL) 11 142  Welay Berhe (ETH) DNS-13 143  Alessandro De Marchi (ITA) 125 144  Felix Engelhardt (GER) 103 145  Chris Harper (AUS) DNF-11 146  Mauro Schmid (SUI) 71 147  Callum Scotson (AUS) DNS-16 148  Filippo Zana (ITA) 56 |
| Arkéa–B&B Hotels (ARK) No.RiderPos. 151  Cristián Rodríguez (ESP) 13 152  Élie Gesbert (FRA) DNS-8 153  Thibault Guernalec (FRA) 132 154  Simon Guglielmi (FRA) 47 155  Laurens Huys (BEL) 79 156  Mathis Le Berre (FRA) 76 157  Łukasz Owsian (POL) 89 158  Michel Ries (LUX) DNF-13 | Intermarché–Wanty (IWA) No.RiderPos. 161  Louis Meintjes (RSA) 28 162  Vito Braet (BEL) 81 163  Kobe Goossens (BEL) DNS-10 164  Arne Marit (BEL) 122 165  Tom Paquot (BEL) DNS-16 166  Simone Petilli (ITA) 90 167  Lorenzo Rota (ITA) DNS-11 168  Rein Taaramäe (EST) DNF-18 | Team dsm–firmenich PostNL (DFP) No.RiderPos. 171  Max Poole (GBR) 35 172  Pavel Bittner (CZE) 115 173  Chris Hamilton (AUS) 68 174  Gijs Leemreize (NED) 84 175  Enzo Leijnse (NED) 129 176  Tim Naberman (NED) 135 177  Martijn Tusveld (NED) 63 178  Julius van den Berg (NED) 131 |
| Cofidis (COF) No.RiderPos. 181  Guillaume Martin (FRA) 15 182  Thomas Champion (FRA) 82 183  Bryan Coquard (FRA) DNF-8 184  Rubén Fernández (ESP) DNS-14 185  Ion Izagirre (ESP) 37 186  Jesús Herrada (ESP) 85 187  Jonathan Lastra (ESP) DNS-13 188  Kenny Elissonde (FRA) DNF-6 | Astana Qazaqstan Team (AST) No.RiderPos. 191  Lorenzo Fortunato (ITA) 16 192  Gleb Brussenskiy (KAZ) 124 193  Gianmarco Garofoli (ITA) 48 194  Harold Martín López (ECU) DNS-10 195  Ide Schelling (NED) 134 196  Harold Tejada (COL) 40 197  Santiago Umba (COL) 106 198  Nicolas Vinokurov (KAZ) 128 | Equipo Kern Pharma (EKP) No.RiderPos. 201  Urko Berrade (ESP) 42 202  Pablo Castrillo (ESP) 64 203  Jorge Gutiérrez (ESP) 99 204  Unai Iribar (ESP) 83 205  Pau Miquel (ESP) 58 206  José Félix Parra (ESP) 17 207  Ibon Ruiz (ESP) 101 208  Antonio Jesús Soto (ESP) 114 |
| Euskaltel–Euskadi (EUK) No.RiderPos. 211  Txomin Juaristi (ESP) DNF-20 212  Jon Aberasturi (ESP) DNF-6 213  Xabier Berasategi (ESP) 102 214  Mikel Bizkarra (ESP) 26 215  Joan Bou (ESP) 72 216  Xabier Isasa (ESP) 104 217  Gotzon Martín (ESP) 51 218  Luis Ángel Maté (ESP) 65 |

### By nationality

| Country | No. of riders | Finished | Stage wins |
| Argentina | 1 | 1 | |
| Australia | 8 | 6 | 4 (Kaden Groves x3, Ben O'Connor) |
| Austria | 4 | 1 | |
| Belgium | 22 | 15 | 3 (Wout van Aert x3) |
| Canada | 1 | 0 | 1 (Michael Woods) |
| Colombia | 7 | 5 | |
| Croatia | 1 | 1 | |
| Czechia | 2 | 2 | 1 (Pavel Bittner) |
| Denmark | 5 | 4 | |
| Ecuador | 4 | 3 | |
| Estonia | 1 | 0 | |
| Ethiopia | 1 | 0 | |
| France | 17 | 13 | |
| Germany | 7 | 6 | |
| Great Britain | 7 | 6 | 1 (Adam Yates) |
| Hungary | 1 | 1 | |
| Ireland | 2 | 2 | 2 (Eddie Dunbar x2) |
| Israel | 1 | 1 | |
| Italy | 16 | 12 | |
| Kazakhstan | 2 | 2 | |
| Luxembourg | 2 | 0 | |
| Mexico | 1 | 1 | |
| Netherlands | 12 | 10 | |
| New Zealand | 3 | 2 | |
| Norway | 2 | 2 | |
| Poland | 2 | 2 | |
| Portugal | 3 | 1 | |
| Slovenia | 1 | 1 | 3 (Primož Roglič x3) |
| South Africa | 1 | 1 | |
| Spain | 32 | 27 | 4 (Urko Berrade, Pablo Castrillo x2, Marc Soler) |
| Switzerland | 2 | 2 | 1 (Stefan Küng) |
| United States | 4 | 4 | 1 (Brandon McNulty) |
| | 1 | 1 | |
| Total | 176 | 135 | 21 |