Vuelta a España 2023 - Stage 21
26.08-17.09
The Vuelta a España will celebrate its 81th edition in 2026. First organised in 1935, it has grown into one of cycling’s three Grand Tours and a key fixture on the late summer calendar. The 2026 race runs from 22 August to 13 September, starting in Monaco and finishing in Granada. Riders will cover around 3,275 kilometres over 21 stages across Monaco, France, Andorra and Spain. The race is broadcast in more than 190 countries, reaching a global audience of millions. At stake is the maillot rojo, one of the most prestigious jerseys in professional cycling.
Results
Stage
| Pos | Rider | Team | Time |
|---|---|---|---|
| 1 | Kaden Groves | Alpecin-Deceuninck | 2:24:13 |
| 2 | Filippo Ganna | INEOS Grenadiers | + 00.00 |
| 3 | Nico Denz | BORA-hansgrohe | + 00.00 |
| 4 | Hugo Page | Intermarché-Circus-Wanty | + 00.00 |
| 5 | Iván García Cortina | Movistar Team | + 00.00 |
| 6 | Rui Costa | Intermarché-Circus-Wanty | + 00.00 |
| 7 | Marijn van den Berg | EF Education-EasyPost | + 00.00 |
| 8 | Remco Evenepoel | Soudal Quick-Step | + 00.00 |
| 9 | Dries van Gestel | TotalEnergies | + 00.00 |
| 10 | Lennard Kämna | BORA-hansgrohe | + 00.00 |
| 11 | Hugo Hofstetter | Team Arkéa-Samsic | + 00.00 |
| 12 | Davide Cimolai | Cofidis | + 00.00 |
| 13 | Milan Menten | Lotto Dstny | + 00.00 |
| 14 | Lewis Askey | Groupama-FDJ | + 00.00 |
| 15 | Matevz Govekar | Bahrain Victorious | + 00.00 |
| 16 | David González | Caja Rural-Seguros RGA | + 00.00 |
| 17 | Edward Theuns | Lidl-Trek | + 00.00 |
| 18 | Matteo Sobrero | Team Jayco-AlUla | + 00.00 |
| 19 | Dorian Godon | AG2R Citroën Team | + 00.00 |
| 20 | Cyril Barthe | Burgos-BH | + 00.00 |
| 21 | Rui Oliveira | UAE Team Emirates | + 00.00 |
| 22 | Casper Pedersen | Soudal Quick-Step | + 00.00 |
| 23 | André Carvalho | Cofidis | + 00.00 |
| 24 | Jon Barrenetxea | Caja Rural-Seguros RGA | + 00.00 |
| 25 | Alberto Dainese | Team dsm-firmenich | + 00.00 |
| 26 | Juan Ayuso | UAE Team Emirates | + 00.00 |
| 27 | Geoffrey Soupe | TotalEnergies | + 00.00 |
| 28 | Mikel Landa | Bahrain Victorious | + 00.00 |
| 29 | Einer Rubio | Movistar Team | + 00.00 |
| 30 | Jasha Sütterlin | Bahrain Victorious | + 00.00 |
| 31 | Sergio Higuita | BORA-hansgrohe | + 00.00 |
| 32 | Cian Uijtdebroeks | BORA-hansgrohe | + 00.00 |
| 33 | Cristian Rodriguez | Team Arkéa-Samsic | + 00.00 |
| 34 | Aleksandr Vlasov | BORA-hansgrohe | + 00.00 |
| 35 | Damiano Caruso | Bahrain Victorious | + 00.00 |
| 36 | Fernando Barceló | Caja Rural-Seguros RGA | + 00.00 |
| 37 | Mathis Le Berre | Team Arkéa-Samsic | + 00.00 |
| 38 | Mattia Cattaneo | Soudal Quick-Step | + 00.00 |
| 39 | Steff Cras | TotalEnergies | + 00.00 |
| 40 | Paul Lapeira | AG2R Citroën Team | + 00.00 |
| 41 | Santiago Buitrago | Bahrain Victorious | + 00.00 |
| 42 | Bauke Mollema | Lidl-Trek | + 00.00 |
| 43 | Fabio Felline | Astana Qazaqstan Team | + 00.00 |
| 44 | Fabien Doubey | TotalEnergies | + 00.00 |
| 45 | Jacopo Mosca | Lidl-Trek | + 00.00 |
| 46 | Stefan Bissegger | EF Education-EasyPost | + 00.00 |
| 47 | Boy van Poppel | Intermarché-Circus-Wanty | + 00.00 |
| 48 | Julius Johansen | Intermarché-Circus-Wanty | + 00.23 |
| 49 | Dylan van Baarle | Jumbo-Visma | + 00.26 |
| 50 | Attila Valter | Jumbo-Visma | + 00.26 |
| 51 | Robert Gesink | Jumbo-Visma | + 00.26 |
| 52 | Primoz Roglic | Jumbo-Visma | + 00.26 |
| 53 | Jonas Vingegaard | Jumbo-Visma | + 00.26 |
| 54 | Wilco Kelderman | Jumbo-Visma | + 00.26 |
| 55 | Jan Tratnik | Jumbo-Visma | + 00.26 |
| 56 | Sepp Kuss | Jumbo-Visma | + 00.26 |
| 57 | Jesus Ezquerra | Burgos-BH | + 00.26 |
| 58 | Pelayo Sanchez | Burgos-BH | + 00.26 |
| 59 | Ander Okamika | Burgos-BH | + 00.26 |
| 60 | Lukasz Owsian | Team Arkéa-Samsic | + 00.26 |
| 61 | Enric Mas | Movistar Team | + 00.26 |
| 62 | Antonio Tiberi | Bahrain Victorious | + 00.26 |
| 63 | Andrea Vendrame | AG2R Citroën Team | + 00.26 |
| 64 | Joao Almeida | UAE Team Emirates | + 00.26 |
| 65 | Simone Petilli | Intermarché-Circus-Wanty | + 00.26 |
| 66 | Rudy Molard | Groupama-FDJ | + 00.26 |
| 67 | Jose Manuel Diaz | Burgos-BH | + 00.26 |
| 68 | Nicolas Prodhomme | AG2R Citroën Team | + 00.26 |
| 69 | Lawrence Warbasse | AG2R Citroën Team | + 00.26 |
| 70 | Ben Zwiehoff | BORA-hansgrohe | + 00.26 |
| 71 | Lennert Van Eetvelt | Lotto Dstny | + 00.26 |
| 72 | Andrey Zeits | Astana Qazaqstan Team | + 00.26 |
| 73 | Vadim Pronskiy | Astana Qazaqstan Team | + 00.26 |
| 74 | Sebastian Molano | UAE Team Emirates | + 00.26 |
| 75 | Romain Grégoire | Groupama-FDJ | + 00.26 |
| 76 | Kamil Gradek | Bahrain Victorious | + 00.26 |
| 77 | Paul Ourselin | TotalEnergies | + 00.26 |
| 78 | Wout Poels | Bahrain Victorious | + 00.26 |
| 79 | Emanuel Buchmann | BORA-hansgrohe | + 00.26 |
| 80 | Imanol Erviti | Movistar Team | + 00.26 |
| 81 | Pieter Serry | Soudal Quick-Step | + 00.26 |
| 82 | Maurice Ballerstedt | Alpecin-Deceuninck | + 00.26 |
| 83 | Lorenzo Germani | Groupama-FDJ | + 00.26 |
| 84 | Nelson Oliveira | Movistar Team | + 00.26 |
| 85 | Ruben Fernandez | Cofidis | + 00.36 |
| 86 | Daniel Navarro | Burgos-BH | + 00.38 |
| 87 | Jetse Bol | Burgos-BH | + 00.38 |
| 88 | Kenny Elissonde | Lidl-Trek | + 00.38 |
| 89 | Oier Lazkano | Movistar Team | + 00.38 |
| 90 | Louis Vervaeke | Soudal Quick-Step | + 00.41 |
| 91 | Felix Engelhardt | Team Jayco-AlUla | + 00.41 |
| 92 | Abel Balderstone | Caja Rural-Seguros RGA | + 00.43 |
| 93 | Eric Fagundez | Burgos-BH | + 00.43 |
| 94 | Jason Osborne | Alpecin-Deceuninck | + 00.43 |
| 95 | Eduardo Sepulveda | Lotto Dstny | + 00.46 |
| 96 | Omar Fraile | INEOS Grenadiers | + 00.46 |
| 97 | Kim Heiduk | INEOS Grenadiers | + 00.46 |
| 98 | Jan Hirt | Soudal Quick-Step | + 00.46 |
| 99 | Diego Camargo | EF Education-EasyPost | + 00.46 |
| 100 | Lenny Martinez | Groupama-FDJ | + 00.49 |
| 101 | Samuele Battistella | Astana Qazaqstan Team | + 00.51 |
| 102 | Juan Pedro Lopez | Lidl-Trek | + 00.51 |
| 103 | Mikaël Chérel | AG2R Citroën Team | + 00.51 |
| 104 | Michael Storer | Groupama-FDJ | + 00.59 |
| 105 | Otto Vergaerde | Lidl-Trek | + 01.06 |
| 106 | Chris Hamilton | Team dsm-firmenich | + 01.10 |
| 107 | Geraint Thomas | INEOS Grenadiers | + 01.10 |
| 108 | Amanuel Ghebreigzabhier | Lidl-Trek | + 01.10 |
| 109 | Michal Schlegel | Caja Rural-Seguros RGA | + 01.10 |
| 110 | Luis León Sánchez | Astana Qazaqstan Team | + 01.23 |
| 111 | Elie Gesbert | Team Arkéa-Samsic | + 01.36 |
| 112 | Kevin Ledanois | Team Arkéa-Samsic | + 01.36 |
| 113 | Edward Planckaert | Alpecin-Deceuninck | + 01.38 |
| 114 | James Knox | Soudal Quick-Step | + 01.47 |
| 115 | Sam Watson | Groupama-FDJ | + 02.06 |
| 116 | Clément Davy | Groupama-FDJ | + 02.11 |
| 117 | Jimmy Janssens | Alpecin-Deceuninck | + 02.13 |
| 118 | Jonathan Castroviejo | INEOS Grenadiers | + 02.19 |
| 119 | Julien Bernard | Lidl-Trek | + 02.32 |
| 120 | Jonathan Caicedo | EF Education-EasyPost | + 02.32 |
| 121 | Sean Quinn | EF Education-EasyPost | + 02.32 |
| 122 | Joe Dombrowski | Astana Qazaqstan Team | + 02.32 |
| 123 | Sylvain Moniquet | Lotto Dstny | + 02.32 |
| 124 | Max Poole | Team dsm-firmenich | + 02.53 |
| 125 | Jorge Arcas | Movistar Team | + 03.01 |
| 126 | Jonas Koch | BORA-hansgrohe | + 00.00 |
| 127 | Thomas De Gendt | Lotto Dstny | + 03.20 |
| 128 | Michel Ries | Team Arkéa-Samsic | + 03.20 |
| 129 | Marc Soler | UAE Team Emirates | + 03.21 |
| 130 | Finn Fisher-Black | UAE Team Emirates | + 03.23 |
| 131 | Andrea Piccolo | EF Education-EasyPost | + 03.26 |
| 132 | Hugh Carthy | EF Education-EasyPost | + 03.26 |
| 133 | Egan Bernal | INEOS Grenadiers | + 03.29 |
| 134 | Romain Combaud | Team dsm-firmenich | + 03.36 |
| 135 | Sean Flynn | Team dsm-firmenich | + 03.36 |
| 136 | Romain Bardet | Team dsm-firmenich | + 03.36 |
| 137 | Jesus Herrada | Cofidis | + 03.36 |
| 138 | Jose Herrada | Cofidis | + 03.36 |
| 139 | Rémy Rochas | Cofidis | + 03.38 |
| 140 | François Bidard | Cofidis | + 03.38 |
| 141 | Sébastien Grignard | Lotto Dstny | + 03.43 |
| 142 | Julius van den Berg | EF Education-EasyPost | + 03.51 |
| 143 | Jarrad Drizners | Lotto Dstny | + 04.43 |
| 144 | Andreas Kron | Lotto Dstny | + 04.43 |
| 145 | Tobias Bayer | Alpecin-Deceuninck | + 05.33 |
| 146 | Domen Novak | UAE Team Emirates | + 06.09 |
| 147 | Joel Nicolau | Caja Rural-Seguros RGA | + 06.09 |
| 148 | Jan Maas | Team Jayco-AlUla | + 13.30 |
GC
| Pos | Rider | Team | Time |
|---|---|---|---|
| 1 | Sepp Kuss | Jumbo-Visma | 76:48:21 |
| 2 | Jonas Vingegaard | Jumbo-Visma | + 00.17 |
| 3 | Primoz Roglic | Jumbo-Visma | + 01.08 |
| 4 | Juan Ayuso | UAE Team Emirates | + 03.18 |
| 5 | Mikel Landa | Bahrain Victorious | + 03.37 |
| 6 | Enric Mas | Movistar Team | + 04.14 |
| 7 | Aleksandr Vlasov | BORA-hansgrohe | + 07.53 |
| 8 | Cian Uijtdebroeks | BORA-hansgrohe | + 08.00 |
| 9 | Joao Almeida | UAE Team Emirates | + 10.08 |
| 10 | Santiago Buitrago | Bahrain Victorious | + 11.38 |
| 11 | Steff Cras | TotalEnergies | + 14.04 |
| 12 | Remco Evenepoel | Soudal Quick-Step | + 16.44 |
| 13 | Cristian Rodriguez | Team Arkéa-Samsic | + 22.13 |
| 14 | Marc Soler | UAE Team Emirates | + 25.21 |
| 15 | Wout Poels | Bahrain Victorious | + 31.00 |
| 16 | Einer Rubio | Movistar Team | + 34.49 |
| 17 | Juan Pedro Lopez | Lidl-Trek | + 35.47 |
| 18 | Antonio Tiberi | Bahrain Victorious | + 50.13 |
| 19 | Damiano Caruso | Bahrain Victorious | + 53.47 |
| 20 | Emanuel Buchmann | BORA-hansgrohe | + 59.02 |
| 21 | Romain Bardet | Team dsm-firmenich | + 01:02.10 |
| 22 | Attila Valter | Jumbo-Visma | + 01:05.42 |
| 23 | Hugh Carthy | EF Education-EasyPost | + 01:19.25 |
| 24 | Lenny Martinez | Groupama-FDJ | + 01:21.41 |
| 25 | Wilco Kelderman | Jumbo-Visma | + 01:24.38 |
| 26 | Paul Ourselin | TotalEnergies | + 01:28.13 |
| 27 | Nicolas Prodhomme | AG2R Citroën Team | + 01:29.05 |
| 28 | Rémy Rochas | Cofidis | + 01:29.27 |
| 29 | Rudy Molard | Groupama-FDJ | + 01:33.14 |
| 30 | Lennard Kämna | BORA-hansgrohe | + 01:38.06 |
| 31 | Geraint Thomas | INEOS Grenadiers | + 01:47.59 |
| 32 | Lennert Van Eetvelt | Lotto Dstny | + 01:48.52 |
| 33 | Louis Vervaeke | Soudal Quick-Step | + 01:49.44 |
| 34 | Mattia Cattaneo | Soudal Quick-Step | + 01:51.42 |
| 35 | Ben Zwiehoff | BORA-hansgrohe | + 01:52.28 |
| 36 | Fabien Doubey | TotalEnergies | + 01:56.08 |
| 37 | Pelayo Sanchez | Burgos-BH | + 01:56.27 |
| 38 | Jan Tratnik | Jumbo-Visma | + 01:57.16 |
| 39 | Daniel Navarro | Burgos-BH | + 01:57.40 |
| 40 | Finn Fisher-Black | UAE Team Emirates | + 01:58.23 |
| 41 | Rui Costa | Intermarché-Circus-Wanty | + 01:59.20 |
| 42 | Romain Grégoire | Groupama-FDJ | + 02:01.38 |
| 43 | Sergio Higuita | BORA-hansgrohe | + 02:08.05 |
| 44 | Lawrence Warbasse | AG2R Citroën Team | + 02:09.29 |
| 45 | Michael Storer | Groupama-FDJ | + 02:13.42 |
| 46 | Andrey Zeits | Astana Qazaqstan Team | + 02:14.13 |
| 47 | Jonathan Caicedo | EF Education-EasyPost | + 02:15.49 |
| 48 | Fernando Barceló | Caja Rural-Seguros RGA | + 02:17.00 |
| 49 | Max Poole | Team dsm-firmenich | + 02:17.18 |
| 50 | Kenny Elissonde | Lidl-Trek | + 02:18.25 |
| 51 | Dorian Godon | AG2R Citroën Team | + 02:19.07 |
| 52 | Robert Gesink | Jumbo-Visma | + 02:19.43 |
| 53 | Nelson Oliveira | Movistar Team | + 02:20.10 |
| 54 | Ruben Fernandez | Cofidis | + 02:21.26 |
| 55 | Egan Bernal | INEOS Grenadiers | + 02:22.50 |
| 56 | Mikaël Chérel | AG2R Citroën Team | + 02:24.19 |
| 57 | Joe Dombrowski | Astana Qazaqstan Team | + 02:26.13 |
| 58 | Simone Petilli | Intermarché-Circus-Wanty | + 02:27.46 |
| 59 | Jan Hirt | Soudal Quick-Step | + 02:29.04 |
| 60 | Jonathan Castroviejo | INEOS Grenadiers | + 02:29.11 |
| 61 | Luis León Sánchez | Astana Qazaqstan Team | + 02:36.29 |
| 62 | Ander Okamika | Burgos-BH | + 02:36.34 |
| 63 | Chris Hamilton | Team dsm-firmenich | + 02:36.47 |
| 64 | Jose Manuel Diaz | Burgos-BH | + 02:37.04 |
| 65 | James Knox | Soudal Quick-Step | + 02:38.31 |
| 66 | Michel Ries | Team Arkéa-Samsic | + 02:38.52 |
| 67 | Andreas Kron | Lotto Dstny | + 02:41.49 |
| 68 | Julien Bernard | Lidl-Trek | + 02:43.57 |
| 69 | Andrea Piccolo | EF Education-EasyPost | + 02:44.14 |
| 70 | Felix Engelhardt | Team Jayco-AlUla | + 02:44.35 |
| 71 | Jasha Sütterlin | Bahrain Victorious | + 02:46.56 |
| 72 | Iván García Cortina | Movistar Team | + 02:47.04 |
| 73 | Elie Gesbert | Team Arkéa-Samsic | + 02:48.24 |
| 74 | Jon Barrenetxea | Caja Rural-Seguros RGA | + 02:48.51 |
| 75 | Lukasz Owsian | Team Arkéa-Samsic | + 02:49.48 |
| 76 | Fabio Felline | Astana Qazaqstan Team | + 02:50.18 |
| 77 | Abel Balderstone | Caja Rural-Seguros RGA | + 02:50.22 |
| 78 | Imanol Erviti | Movistar Team | + 02:51.33 |
| 79 | Bauke Mollema | Lidl-Trek | + 02:51.48 |
| 80 | Sean Quinn | EF Education-EasyPost | + 02:52.02 |
| 81 | Oier Lazkano | Movistar Team | + 02:56.45 |
| 82 | Amanuel Ghebreigzabhier | Lidl-Trek | + 02:57.43 |
| 83 | Jesus Herrada | Cofidis | + 02:59.47 |
| 84 | Diego Camargo | EF Education-EasyPost | + 03:00.24 |
| 85 | Lorenzo Germani | Groupama-FDJ | + 03:01.05 |
| 86 | Matteo Sobrero | Team Jayco-AlUla | + 03:01.23 |
| 87 | Jorge Arcas | Movistar Team | + 03:01.28 |
| 88 | Dylan van Baarle | Jumbo-Visma | + 03:02.37 |
| 89 | Jesus Ezquerra | Burgos-BH | + 03:05.57 |
| 90 | Mathis Le Berre | Team Arkéa-Samsic | + 03:11.23 |
| 91 | Vadim Pronskiy | Astana Qazaqstan Team | + 03:12.40 |
| 92 | Jacopo Mosca | Lidl-Trek | + 03:13.12 |
| 93 | Jonas Koch | BORA-hansgrohe | + 03:16.08 |
| 94 | Sylvain Moniquet | Lotto Dstny | + 03:16.23 |
| 95 | Andrea Vendrame | AG2R Citroën Team | + 03:17.26 |
| 96 | Pieter Serry | Soudal Quick-Step | + 03:18.17 |
| 97 | Nico Denz | BORA-hansgrohe | + 03:20.12 |
| 98 | Julius Johansen | Intermarché-Circus-Wanty | + 03:20.38 |
| 99 | Thomas De Gendt | Lotto Dstny | + 03:22.23 |
| 100 | Joel Nicolau | Caja Rural-Seguros RGA | + 03:25.22 |
| 101 | Geoffrey Soupe | TotalEnergies | + 03:25.38 |
| 102 | Eduardo Sepulveda | Lotto Dstny | + 03:26.22 |
| 103 | Kevin Ledanois | Team Arkéa-Samsic | + 03:29.13 |
| 104 | Filippo Ganna | INEOS Grenadiers | + 03:29.23 |
| 105 | Lewis Askey | Groupama-FDJ | + 03:34.07 |
| 106 | David González | Caja Rural-Seguros RGA | + 03:35.12 |
| 107 | Dries van Gestel | TotalEnergies | + 03:35.34 |
| 108 | Cyril Barthe | Burgos-BH | + 03:37.20 |
| 109 | Paul Lapeira | AG2R Citroën Team | + 03:37.49 |
| 110 | Jetse Bol | Burgos-BH | + 03:38.49 |
| 111 | Hugo Hofstetter | Team Arkéa-Samsic | + 03:41.43 |
| 112 | Jimmy Janssens | Alpecin-Deceuninck | + 03:42.07 |
| 113 | Otto Vergaerde | Lidl-Trek | + 03:42.47 |
| 114 | Michal Schlegel | Caja Rural-Seguros RGA | + 03:43.03 |
| 115 | Omar Fraile | INEOS Grenadiers | + 03:43.40 |
| 116 | Sean Flynn | Team dsm-firmenich | + 03:46.39 |
| 117 | Stefan Bissegger | EF Education-EasyPost | + 03:49.54 |
| 118 | Sébastien Grignard | Lotto Dstny | + 03:52.09 |
| 119 | Romain Combaud | Team dsm-firmenich | + 03:52.10 |
| 120 | Julius van den Berg | EF Education-EasyPost | + 03:55.05 |
| 121 | Samuele Battistella | Astana Qazaqstan Team | + 03:55.44 |
| 122 | Kaden Groves | Alpecin-Deceuninck | + 03:55.48 |
| 123 | Sam Watson | Groupama-FDJ | + 03:56.03 |
| 124 | Boy van Poppel | Intermarché-Circus-Wanty | + 03:56.20 |
| 125 | François Bidard | Cofidis | + 03:57.47 |
| 126 | Marijn van den Berg | EF Education-EasyPost | + 03:57.58 |
| 127 | Hugo Page | Intermarché-Circus-Wanty | + 03:58.16 |
| 128 | Edward Theuns | Lidl-Trek | + 03:58.20 |
| 129 | Eric Fagundez | Burgos-BH | + 04:00.37 |
| 130 | Kamil Gradek | Bahrain Victorious | + 04:00.43 |
| 131 | Jason Osborne | Alpecin-Deceuninck | + 04:01.48 |
| 132 | Jose Herrada | Cofidis | + 04:04.20 |
| 133 | Matevz Govekar | Bahrain Victorious | + 04:04.42 |
| 134 | André Carvalho | Cofidis | + 04:05.13 |
| 135 | Clément Davy | Groupama-FDJ | + 04:07.49 |
| 136 | Edward Planckaert | Alpecin-Deceuninck | + 04:07.53 |
| 137 | Jan Maas | Team Jayco-AlUla | + 04:08.47 |
| 138 | Domen Novak | UAE Team Emirates | + 04:08.58 |
| 139 | Kim Heiduk | INEOS Grenadiers | + 04:10.09 |
| 140 | Casper Pedersen | Soudal Quick-Step | + 04:13.57 |
| 141 | Tobias Bayer | Alpecin-Deceuninck | + 04:15.43 |
| 142 | Milan Menten | Lotto Dstny | + 04:16.43 |
| 143 | Maurice Ballerstedt | Alpecin-Deceuninck | + 04:22.11 |
| 144 | Alberto Dainese | Team dsm-firmenich | + 04:25.39 |
| 145 | Jarrad Drizners | Lotto Dstny | + 04:25.50 |
| 146 | Davide Cimolai | Cofidis | + 04:26.25 |
| 147 | Sebastian Molano | UAE Team Emirates | + 04:27.41 |
| 148 | Rui Oliveira | UAE Team Emirates | + 04:32.55 |
Youth
| Pos | Rider | Team | Time |
|---|---|---|---|
| 1 | Juan Ayuso | UAE Team Emirates | 76:51:39 |
| 2 | Cian Uijtdebroeks | BORA-hansgrohe | + 04.42 |
| 3 | Joao Almeida | UAE Team Emirates | + 06.50 |
| 4 | Santiago Buitrago | Bahrain Victorious | + 08.20 |
| 5 | Remco Evenepoel | Soudal Quick-Step | + 13.26 |
| 6 | Einer Rubio | Movistar Team | + 31.31 |
| 7 | Antonio Tiberi | Bahrain Victorious | + 46.55 |
| 8 | Attila Valter | Jumbo-Visma | + 01:02.24 |
| 9 | Lenny Martinez | Groupama-FDJ | + 01:18.23 |
| 10 | Lennert Van Eetvelt | Lotto Dstny | + 01:45.34 |
| 11 | Pelayo Sanchez | Burgos-BH | + 01:53.09 |
| 12 | Finn Fisher-Black | UAE Team Emirates | + 01:55.05 |
| 13 | Romain Grégoire | Groupama-FDJ | + 01:58.20 |
| 14 | Max Poole | Team dsm-firmenich | + 02:14.00 |
| 15 | Michel Ries | Team Arkéa-Samsic | + 02:35.34 |
| 16 | Andreas Kron | Lotto Dstny | + 02:38.31 |
| 17 | Andrea Piccolo | EF Education-EasyPost | + 02:40.56 |
| 18 | Felix Engelhardt | Team Jayco-AlUla | + 02:41.17 |
| 19 | Jon Barrenetxea | Caja Rural-Seguros RGA | + 02:45.33 |
| 20 | Abel Balderstone | Caja Rural-Seguros RGA | + 02:47.04 |
| 21 | Sean Quinn | EF Education-EasyPost | + 02:48.44 |
| 22 | Oier Lazkano | Movistar Team | + 02:53.27 |
| 23 | Diego Camargo | EF Education-EasyPost | + 02:57.06 |
| 24 | Lorenzo Germani | Groupama-FDJ | + 02:57.47 |
| 25 | Mathis Le Berre | Team Arkéa-Samsic | + 03:08.05 |
| 26 | Vadim Pronskiy | Astana Qazaqstan Team | + 03:09.22 |
| 27 | Sylvain Moniquet | Lotto Dstny | + 03:13.05 |
| 28 | Julius Johansen | Intermarché-Circus-Wanty | + 03:17.20 |
| 29 | Lewis Askey | Groupama-FDJ | + 03:30.49 |
| 30 | Paul Lapeira | AG2R Citroën Team | + 03:34.31 |
| 31 | Sean Flynn | Team dsm-firmenich | + 03:43.21 |
| 32 | Stefan Bissegger | EF Education-EasyPost | + 03:46.36 |
| 33 | Sébastien Grignard | Lotto Dstny | + 03:48.51 |
| 34 | Samuele Battistella | Astana Qazaqstan Team | + 03:52.26 |
| 35 | Kaden Groves | Alpecin-Deceuninck | + 03:52.30 |
| 36 | Sam Watson | Groupama-FDJ | + 03:52.45 |
| 37 | Marijn van den Berg | EF Education-EasyPost | + 03:54.40 |
| 38 | Hugo Page | Intermarché-Circus-Wanty | + 03:54.58 |
| 39 | Eric Fagundez | Burgos-BH | + 03:57.19 |
| 40 | Matevz Govekar | Bahrain Victorious | + 04:01.24 |
| 41 | Clément Davy | Groupama-FDJ | + 04:04.31 |
| 42 | Kim Heiduk | INEOS Grenadiers | + 04:06.51 |
| 43 | Tobias Bayer | Alpecin-Deceuninck | + 04:12.25 |
| 44 | Maurice Ballerstedt | Alpecin-Deceuninck | + 04:18.53 |
| 45 | Alberto Dainese | Team dsm-firmenich | + 04:22.21 |
| 46 | Jarrad Drizners | Lotto Dstny | + 04:22.32 |
Points
| Pos | Rider | Team | Points |
|---|---|---|---|
| 1 | Kaden Groves | Alpecin-Deceuninck | 315 |
| 2 | Remco Evenepoel | Soudal Quick-Step | 236 |
| 3 | Andreas Kron | Lotto Dstny | 167 |
| 4 | Marc Soler | UAE Team Emirates | 133 |
| 5 | Jonas Vingegaard | Jumbo-Visma | 123 |
| 6 | Filippo Ganna | INEOS Grenadiers | 119 |
| 7 | Primoz Roglic | Jumbo-Visma | 117 |
| 8 | Marijn van den Berg | EF Education-EasyPost | 117 |
| 9 | Sepp Kuss | Jumbo-Visma | 112 |
| 10 | Juan Ayuso | UAE Team Emirates | 105 |
| 11 | Lennard Kämna | BORA-hansgrohe | 100 |
| 12 | Rui Costa | Intermarché-Circus-Wanty | 84 |
| 13 | Alberto Dainese | Team dsm-firmenich | 82 |
| 14 | Romain Bardet | Team dsm-firmenich | 82 |
| 15 | Sebastian Molano | UAE Team Emirates | 78 |
| 16 | Wout Poels | Bahrain Victorious | 77 |
| 17 | Enric Mas | Movistar Team | 73 |
| 18 | Edward Theuns | Lidl-Trek | 72 |
| 19 | Andrea Vendrame | AG2R Citroën Team | 68 |
| 20 | Aleksandr Vlasov | BORA-hansgrohe | 67 |
| 21 | Geoffrey Soupe | TotalEnergies | 65 |
| 22 | Mattia Cattaneo | Soudal Quick-Step | 62 |
| 23 | Chris Hamilton | Team dsm-firmenich | 60 |
| 24 | Iván García Cortina | Movistar Team | 59 |
| 25 | Mikel Landa | Bahrain Victorious | 58 |
| 26 | Lennert Van Eetvelt | Lotto Dstny | 57 |
| 27 | Dries van Gestel | TotalEnergies | 56 |
| 28 | Hugo Page | Intermarché-Circus-Wanty | 53 |
| 29 | Damiano Caruso | Bahrain Victorious | 52 |
| 30 | Amanuel Ghebreigzabhier | Lidl-Trek | 52 |
| 31 | Finn Fisher-Black | UAE Team Emirates | 51 |
| 32 | David González | Caja Rural-Seguros RGA | 48 |
| 33 | Joao Almeida | UAE Team Emirates | 47 |
| 34 | Lenny Martinez | Groupama-FDJ | 47 |
| 35 | Max Poole | Team dsm-firmenich | 47 |
| 36 | Matteo Sobrero | Team Jayco-AlUla | 46 |
| 37 | Michael Storer | Groupama-FDJ | 45 |
| 38 | Santiago Buitrago | Bahrain Victorious | 43 |
| 39 | Einer Rubio | Movistar Team | 43 |
| 40 | Cristian Rodriguez | Team Arkéa-Samsic | 42 |
| 41 | Lewis Askey | Groupama-FDJ | 42 |
| 42 | Edward Planckaert | Alpecin-Deceuninck | 42 |
| 43 | Joel Nicolau | Caja Rural-Seguros RGA | 38 |
| 44 | Cian Uijtdebroeks | BORA-hansgrohe | 37 |
| 45 | Paul Ourselin | TotalEnergies | 37 |
| 46 | Milan Menten | Lotto Dstny | 34 |
| 47 | Davide Cimolai | Cofidis | 34 |
| 48 | Nico Denz | BORA-hansgrohe | 31 |
| 49 | Romain Grégoire | Groupama-FDJ | 30 |
| 50 | Jon Barrenetxea | Caja Rural-Seguros RGA | 30 |
| 51 | Oier Lazkano | Movistar Team | 30 |
| 52 | Casper Pedersen | Soudal Quick-Step | 30 |
| 53 | Jonathan Castroviejo | INEOS Grenadiers | 28 |
| 54 | Jimmy Janssens | Alpecin-Deceuninck | 27 |
| 55 | Pelayo Sanchez | Burgos-BH | 27 |
| 56 | Fernando Barceló | Caja Rural-Seguros RGA | 27 |
| 57 | Wilco Kelderman | Jumbo-Visma | 26 |
| 58 | Jonathan Caicedo | EF Education-EasyPost | 26 |
| 59 | Ruben Fernandez | Cofidis | 25 |
| 60 | Sean Flynn | Team dsm-firmenich | 25 |
| 61 | Rui Oliveira | UAE Team Emirates | 25 |
| 62 | Maurice Ballerstedt | Alpecin-Deceuninck | 24 |
| 63 | Steff Cras | TotalEnergies | 22 |
| 64 | Hugo Hofstetter | Team Arkéa-Samsic | 22 |
| 65 | Boy van Poppel | Intermarché-Circus-Wanty | 22 |
| 66 | Jesus Herrada | Cofidis | 20 |
| 67 | Robert Gesink | Jumbo-Visma | 20 |
| 68 | Ander Okamika | Burgos-BH | 20 |
| 69 | Andrea Piccolo | EF Education-EasyPost | 20 |
| 70 | Clément Davy | Groupama-FDJ | 20 |
| 71 | Julius van den Berg | EF Education-EasyPost | 17 |
| 72 | Mathis Le Berre | Team Arkéa-Samsic | 15 |
| 73 | Geraint Thomas | INEOS Grenadiers | 14 |
| 74 | Lukasz Owsian | Team Arkéa-Samsic | 13 |
| 75 | Eduardo Sepulveda | Lotto Dstny | 13 |
| 76 | Sam Watson | Groupama-FDJ | 13 |
| 77 | Matevz Govekar | Bahrain Victorious | 12 |
| 78 | Jan Maas | Team Jayco-AlUla | 12 |
| 79 | Antonio Tiberi | Bahrain Victorious | 11 |
| 80 | Hugh Carthy | EF Education-EasyPost | 11 |
| 81 | Daniel Navarro | Burgos-BH | 11 |
| 82 | Emanuel Buchmann | BORA-hansgrohe | 10 |
| 83 | Louis Vervaeke | Soudal Quick-Step | 10 |
| 84 | Julien Bernard | Lidl-Trek | 10 |
| 85 | Diego Camargo | EF Education-EasyPost | 10 |
| 86 | Lorenzo Germani | Groupama-FDJ | 10 |
| 87 | Tobias Bayer | Alpecin-Deceuninck | 10 |
| 88 | Nicolas Prodhomme | AG2R Citroën Team | 9 |
| 89 | Rudy Molard | Groupama-FDJ | 9 |
| 90 | Dorian Godon | AG2R Citroën Team | 9 |
| 91 | Nelson Oliveira | Movistar Team | 9 |
| 92 | Egan Bernal | INEOS Grenadiers | 9 |
| 93 | Jesus Ezquerra | Burgos-BH | 9 |
| 94 | Rémy Rochas | Cofidis | 8 |
| 95 | Jonas Koch | BORA-hansgrohe | 7 |
| 96 | Jarrad Drizners | Lotto Dstny | 7 |
| 97 | Felix Engelhardt | Team Jayco-AlUla | 6 |
| 98 | Jacopo Mosca | Lidl-Trek | 6 |
| 99 | Stefan Bissegger | EF Education-EasyPost | 5 |
| 100 | André Carvalho | Cofidis | 5 |
| 101 | Juan Pedro Lopez | Lidl-Trek | 3 |
| 102 | Ben Zwiehoff | BORA-hansgrohe | 3 |
| 103 | Jose Manuel Diaz | Burgos-BH | -4 |
Mountain
| Pos | Rider | Team | Points |
|---|---|---|---|
| 1 | Remco Evenepoel | Soudal Quick-Step | 135 |
| 2 | Jonas Vingegaard | Jumbo-Visma | 51 |
| 3 | Michael Storer | Groupama-FDJ | 39 |
| 4 | Romain Bardet | Team dsm-firmenich | 35 |
| 5 | Primoz Roglic | Jumbo-Visma | 33 |
| 6 | Sepp Kuss | Jumbo-Visma | 33 |
| 7 | Damiano Caruso | Bahrain Victorious | 30 |
| 8 | Andreas Kron | Lotto Dstny | 28 |
| 9 | Eduardo Sepulveda | Lotto Dstny | 23 |
| 10 | Jesus Herrada | Cofidis | 22 |
| 11 | Marc Soler | UAE Team Emirates | 21 |
| 12 | Juan Ayuso | UAE Team Emirates | 15 |
| 13 | Lennard Kämna | BORA-hansgrohe | 14 |
| 14 | Mattia Cattaneo | Soudal Quick-Step | 14 |
| 15 | Max Poole | Team dsm-firmenich | 12 |
| 16 | Matteo Sobrero | Team Jayco-AlUla | 11 |
| 17 | Lennert Van Eetvelt | Lotto Dstny | 10 |
| 18 | Santiago Buitrago | Bahrain Victorious | 8 |
| 19 | Sylvain Moniquet | Lotto Dstny | 8 |
| 20 | Romain Grégoire | Groupama-FDJ | 8 |
| 21 | Jonathan Castroviejo | INEOS Grenadiers | 8 |
| 22 | Jon Barrenetxea | Caja Rural-Seguros RGA | 7 |
| 23 | Thomas De Gendt | Lotto Dstny | 7 |
| 24 | Mikel Landa | Bahrain Victorious | 7 |
| 25 | Antonio Tiberi | Bahrain Victorious | 7 |
| 26 | Louis Vervaeke | Soudal Quick-Step | 6 |
| 27 | Wout Poels | Bahrain Victorious | 6 |
| 28 | Pelayo Sanchez | Burgos-BH | 6 |
| 29 | Rui Costa | Intermarché-Circus-Wanty | 6 |
| 30 | James Knox | Soudal Quick-Step | 6 |
| 31 | Lenny Martinez | Groupama-FDJ | 6 |
| 32 | Kenny Elissonde | Lidl-Trek | 6 |
| 33 | Ruben Fernandez | Cofidis | 6 |
| 34 | Amanuel Ghebreigzabhier | Lidl-Trek | 6 |
| 35 | Enric Mas | Movistar Team | 5 |
| 36 | Cristian Rodriguez | Team Arkéa-Samsic | 5 |
| 37 | Juan Pedro Lopez | Lidl-Trek | 5 |
| 38 | Geraint Thomas | INEOS Grenadiers | 4 |
| 39 | Cian Uijtdebroeks | BORA-hansgrohe | 4 |
| 40 | Lewis Askey | Groupama-FDJ | 4 |
| 41 | Fernando Barceló | Caja Rural-Seguros RGA | 3 |
| 42 | Finn Fisher-Black | UAE Team Emirates | 3 |
| 43 | Ander Okamika | Burgos-BH | 3 |
| 44 | Oier Lazkano | Movistar Team | 3 |
| 45 | Joel Nicolau | Caja Rural-Seguros RGA | 3 |
| 46 | David González | Caja Rural-Seguros RGA | 3 |
| 47 | Hugo Hofstetter | Team Arkéa-Samsic | 3 |
| 48 | Eric Fagundez | Burgos-BH | 3 |
| 49 | Einer Rubio | Movistar Team | 2 |
| 50 | Ben Zwiehoff | BORA-hansgrohe | 2 |
| 51 | Jonathan Caicedo | EF Education-EasyPost | 2 |
| 52 | Robert Gesink | Jumbo-Visma | 2 |
| 53 | Iván García Cortina | Movistar Team | 2 |
| 54 | Elie Gesbert | Team Arkéa-Samsic | 2 |
| 55 | Joao Almeida | UAE Team Emirates | 1 |
| 56 | Wilco Kelderman | Jumbo-Visma | 1 |
| 57 | Paul Ourselin | TotalEnergies | 1 |
| 58 | Nicolas Prodhomme | AG2R Citroën Team | 1 |
| 59 | Chris Hamilton | Team dsm-firmenich | 1 |
| 60 | Julien Bernard | Lidl-Trek | 1 |
| 61 | Lorenzo Germani | Groupama-FDJ | 1 |
| 62 | Dylan van Baarle | Jumbo-Visma | 1 |
| 63 | Nico Denz | BORA-hansgrohe | 1 |
| 64 | Marijn van den Berg | EF Education-EasyPost | 1 |
| 65 | Jose Manuel Diaz | Burgos-BH | -4 |
Team
| Pos | Team | Time |
|---|---|---|
| 1 | Jumbo-Visma | 229:42:26 |
| 2 | Bahrain Victorious | + 20.49 |
| 3 | BORA-hansgrohe | + 32.54 |
| 4 | UAE Team Emirates | + 33.46 |
| 5 | Movistar Team | + 02:17.23 |
| 6 | Soudal Quick-Step | + 03:18.27 |
| 7 | TotalEnergies | + 03:25.09 |
| 8 | Groupama-FDJ | + 03:42.37 |
| 9 | Lidl-Trek | + 04:00.16 |
| 10 | Team Arkéa-Samsic | + 04:23.23 |
| 11 | Astana Qazaqstan Team | + 04:24.12 |
| 12 | Burgos-BH | + 04:41.40 |
| 13 | AG2R Citroën Team | + 04:42.41 |
| 14 | EF Education-EasyPost | + 05:04.03 |
| 15 | Team dsm-firmenich | + 05:06.29 |
| 16 | Caja Rural-Seguros RGA | + 05:19.27 |
| 17 | INEOS Grenadiers | + 05:22.14 |
| 18 | Lotto Dstny | + 06:05.44 |
| 19 | Cofidis | + 06:25.03 |
| 20 | Intermarché-Circus-Wanty | + 06:59.38 |
| 21 | Team Jayco-AlUla | + 09:03.18 |
| 22 | Alpecin-Deceuninck | + 10:47.54 |








