| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Magnus Cort | Uno-X Mobility | 03:43:52 | |
| 2 | Carlos Canal | Movistar Team | + 00 | |
| 3 | Giovanni Lonardi | Team Polti VisitMalta | + 00 | |
| 4 | Cesar Macias | Petrolike | + 00 | |
| 5 | Mirco Maestri | Team Polti VisitMalta | + 00 | |
| 6 | Xavier Cañellas | Anicolor - Tien21 Cycling Team | + 00 | |
| 7 | Davide Piganzoli | Team Polti VisitMalta | + 00 | |
| 8 | Francisco Peñuela | Caja Rural-Seguros RGA | + 00 | |
| 9 | Antonio Prieto de Luna Jose | Petrolike | + 00 | |
| 10 | Thomas Pesenti | Soudal Quick-Step | + 00 | |
| 11 | Daniel Cavia | Burgos Burpellet BH | + 00 | |
| 12 | Mauri Vansevenant | Soudal Quick-Step | + 00 | |
| 13 | David Peña Jesus | AP Hotels & Resorts - Tavira - SC Farense | + 00 | |
| 14 | Alex Molenaar | Caja Rural-Seguros RGA | + 00 | |
| 15 | Sergio Chumil | Burgos Burpellet BH | + 00 | |
| 16 | Maxime Decomble | Groupama-FDJ | + 00 | |
| 17 | Jordi Lopez | Euskaltel-Euskadi | + 00 | |
| 18 | Eric Fagundez | Burgos Burpellet BH | + 00 | |
| 19 | Ruben Fernandez | Anicolor - Tien21 Cycling Team | + 00 | |
| 20 | Txomin Juaristi | Euskaltel-Euskadi | + 00 | |
| 21 | Ivan Cobo | Equipo Kern Pharma | + 00 | |
| 22 | Luca Paletti | VF Group-Bardiani CSF-Faizanè | + 00 | |
| 23 | Luca Covili | VF Group-Bardiani CSF-Faizanè | + 00 | |
| 24 | Derek Gee | Israel-Premier Tech | + 00 | |
| 25 | Viktor Soenens | Soudal Quick-Step | + 07 | + 07 |
| 26 | Johannes Kulset | Uno-X Mobility | + 07 | + 07 |
| 27 | Jefferson Cepeda | Movistar Team | + 07 | + 07 |
| 28 | Jorge Arcas | Movistar Team | + 22 | + 22 |
| 29 | Diego Sevilla | Team Polti VisitMalta | + 24 | + 24 |
| 30 | Alessandro Tonelli | Team Polti VisitMalta | + 24 | + 24 |
| 31 | Jakob Fuglsang | Israel-Premier Tech | + 29 | + 29 |
| 32 | Koller Løland Sakarias | Uno-X Mobility | + 31 | + 31 |
| 33 | Fredrik Dversnes | Uno-X Mobility | + 56 | + 56 |
| 34 | Unai Esparza | Illes Balears Arabay Cycling | + 58 | + 58 |
| 35 | Filippo Magli | VF Group-Bardiani CSF-Faizanè | + 58 | + 58 |
| 36 | Samuel Fernández Garcia | Caja Rural-Seguros RGA | + 58 | + 58 |
| 37 | Clément Braz Afonso | Groupama-FDJ | + 58 | + 58 |
| 38 | Josh Burnett | Burgos Burpellet BH | + 58 | + 58 |
| 39 | Keegan Swirbul | Efapel Cycling | + 58 | + 58 |
| 40 | Alex Tolio | VF Group-Bardiani CSF-Faizanè | + 58 | + 58 |
| 41 | Matteo Scalco | VF Group-Bardiani CSF-Faizanè | + 58 | + 58 |
| 42 | Alvaro Sagrado Perez | Illes Balears Arabay Cycling | + 58 | + 58 |
| 43 | Lucas Lopes | Radio Popular - Paredes - Boavista | + 58 | + 58 |
| 44 | Rémi Daumas | Groupama-FDJ | + 58 | + 58 |
| 45 | Alejandro Callejas | Petrolike | + 58 | + 58 |
| 46 | Helder Goncalves | Radio Popular - Paredes - Boavista | + 58 | + 58 |
| 47 | Pedro Silva | Anicolor - Tien21 Cycling Team | + 58 | + 58 |
| 48 | Jose Marin Aragón | Illes Balears Arabay Cycling | + 58 | + 58 |
| 49 | Jokin Murguialday | Euskaltel-Euskadi | + 58 | + 58 |
| 50 | Rafael Barbas | Tavfer - Ovos Matinados - Mortágua | + 58 | + 58 |
| 51 | Nelson Oliveira | Movistar Team | + 58 | + 58 |
| 52 | Diego Pescador | Movistar Team | + 58 | + 58 |
| 53 | Alex Diaz | Caja Rural-Seguros RGA | + 58 | + 58 |
| 54 | Cesar Fonte | Radio Popular - Paredes - Boavista | + 58 | + 58 |
| 55 | Simon Dalby | Uno-X Mobility | + 58 | + 58 |
| 56 | Harrison Wood | Anicolor - Tien21 Cycling Team | + 58 | + 58 |
| 57 | Jan Castellon | Caja Rural-Seguros RGA | + 58 | + 58 |
| 58 | Urko Berrade | Equipo Kern Pharma | + 58 | + 58 |
| 59 | Julen Arriola-bengoa | Caja Rural-Seguros RGA | + 58 | + 58 |
| 60 | Jon Agirre | Euskaltel-Euskadi | + 58 | + 58 |
| 61 | Joaquim Silva | Efapel Cycling | + 58 | + 58 |
| 62 | Fernando Tercero | Team Polti VisitMalta | + 58 | + 58 |
| 63 | Mikel Retegi | Equipo Kern Pharma | + 58 | + 58 |
| 64 | Pedro Pinto | Efapel Cycling | + 58 | + 58 |
| 65 | Andrea Pietrobon | Team Polti VisitMalta | + 58 | + 58 |
| 66 | Simon Clarke | Israel-Premier Tech | + 01:45 | + 01:45 |
| 67 | Marco Frigo | Israel-Premier Tech | + 01:45 | + 01:45 |
| 68 | Mats Wenzel | Equipo Kern Pharma | + 03:22 | + 03:22 |
| 69 | Hugo Houle | Israel-Premier Tech | + 03:22 | + 03:22 |
| 70 | Goncalo Carvalho | Tavfer - Ovos Matinados - Mortágua | + 03:22 | + 03:22 |
| 71 | André Carvalho | Efapel Cycling | + 03:22 | + 03:22 |
| 72 | James Knox | Soudal Quick-Step | + 03:27 | + 03:27 |
| 73 | Jonathan Caicedo | Petrolike | + 03:27 | + 03:27 |
| 74 | Delio Fernandez | AP Hotels & Resorts - Tavira - SC Farense | + 03:29 | + 03:29 |
| 75 | Victor Martinez Garcia | Anicolor - Tien21 Cycling Team | + 04:32 | + 04:32 |
| 76 | Raul Rota | Radio Popular - Paredes - Boavista | + 04:46 | + 04:46 |
| 77 | Pau Llaneras | Illes Balears Arabay Cycling | + 05:48 | + 05:48 |
| 78 | Daniel Dias | Radio Popular - Paredes - Boavista | + 05:48 | + 05:48 |
| 79 | Rémy Rochas | Groupama-FDJ | + 05:48 | + 05:48 |
| 80 | Juan Prieto José | Petrolike | + 06:53 | + 06:53 |
| 81 | Pablo Gonzalez Asier | Illes Balears Arabay Cycling | + 07:36 | + 07:36 |
| 82 | Ander Ganzabal | Euskaltel-Euskadi | + 08:40 | + 08:40 |
| 83 | Nicolas Alustiza | Euskaltel-Euskadi | + 08:40 | + 08:40 |
| 84 | Filippo Turconi | VF Group-Bardiani CSF-Faizanè | + 09:01 | + 09:01 |
| 85 | Unai Aznar | Equipo Kern Pharma | + 09:01 | + 09:01 |
| 86 | Ander Okamika | Burgos Burpellet BH | + 09:01 | + 09:01 |
| 87 | Pau Marti | Israel-Premier Tech | + 09:01 | + 09:01 |
| 88 | Sinuhé Fernandez | Burgos Burpellet BH | + 09:01 | + 09:01 |
| 89 | Ailetz Lasa | AP Hotels & Resorts - Tavira - SC Farense | + 09:01 | + 09:01 |
| 90 | Jambaljamts Sainbayar | Burgos Burpellet BH | + 09:01 | + 09:01 |
| 91 | Gonzalo Ariño Bolinches | Illes Balears Arabay Cycling | + 09:01 | + 09:01 |
| 92 | Filippo D'aiuto | Petrolike | + 09:01 | + 09:01 |
| 93 | Max Bock | Groupama-FDJ | + 09:01 | + 09:01 |
| 94 | Alberto Álvarez | Radio Popular - Paredes - Boavista | + 09:01 | + 09:01 |
| 95 | Artem Nych | Anicolor - Tien21 Cycling Team | + 09:01 | + 09:01 |
| 96 | Rafael Reis | Anicolor - Tien21 Cycling Team | + 09:01 | + 09:01 |
| 97 | Martin Marcellusi | VF Group-Bardiani CSF-Faizanè | + 09:01 | + 09:01 |
| 98 | Lois Dejesus | Tavfer - Ovos Matinados - Mortágua | + 12:39 | + 12:39 |
| 99 | Gauthier Servranckx | Soudal Quick-Step | + 13:07 | + 13:07 |
| 100 | Federico Savino | Soudal Quick-Step | + 13:07 | + 13:07 |
| 101 | Miguel Salgueiro | AP Hotels & Resorts - Tavira - SC Farense | + 13:07 | + 13:07 |
| 102 | Guilherme Mestre | AP Hotels & Resorts - Tavira - SC Farense | + 13:07 | + 13:07 |
| 103 | Santiago Mesa | Efapel Cycling | + 13:07 | + 13:07 |
| 104 | Urianstad Bugge Martin | Uno-X Mobility | + 13:07 | + 13:07 |
| 105 | Antonio Pedrero | Movistar Team | + 13:07 | + 13:07 |
| 106 | Pedro Castro Pinto | Efapel Cycling | + 16:11 | + 16:11 |
| 107 | Daniel Lima | Israel-Premier Tech | + 21:11 | + 21:11 |
| 108 | Antonio Barbio | Tavfer - Ovos Matinados - Mortágua | + 21:11 | + 21:11 |