| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Tim Merlier | Soudal Quick-Step | 03:21:26 | |
| 2 | Cees Bol | Astana Qazaqstan Team | + 00 | |
| 3 | Luca Colnaghi | Green Project-Bardiani CSF-Faizanè | + 00 | |
| 4 | Mirco Maestri | EOLO-Kometa Cycling Team | + 00 | |
| 5 | Daniel Skerl | Cycling Team Friuli ASD | + 00 | |
| 6 | Colby Simmons | Jumbo-Visma | + 00 | |
| 7 | Iuri Leitao | Caja Rural-Seguros RGA | + 00 | |
| 8 | Stanislaw Aniolkowski | Human Powered Health | + 00 | |
| 9 | Patryk Stosz | Voster ATS Team | + 00 | |
| 10 | Dominik Neuman | Elkov-Kasper | + 00 | |
| 11 | Alberto Bruttomesso | Cycling Team Friuli ASD | + 00 | |
| 12 | Alex Jaime | Equipo Kern Pharma | + 00 | |
| 13 | Timo de Jong | VolkerWessels Cycling Team | + 00 | |
| 14 | Timon Loderer | Hrinkow Advarics | + 00 | |
| 15 | Luca Rastelli | Green Project-Bardiani CSF-Faizanè | + 00 | |
| 16 | Pau Miquel Delgado | Equipo Kern Pharma | + 00 | |
| 17 | Urko Berrade | Equipo Kern Pharma | + 00 | |
| 18 | Jiri Petrus | ATT Investments | + 00 | |
| 19 | Riccardo Verza | Hrinkow Advarics | + 00 | |
| 20 | Charles-etienne Chrétien | Human Powered Health | + 00 | |
| 21 | Raphael Hammerschmid | Hrinkow Advarics | + 00 | |
| 22 | Milan Vader | Jumbo-Visma | + 00 | |
| 23 | Stefan Küng | Groupama-FDJ | + 00 | |
| 24 | Etienne van Empel | Corratec Selle Italia | + 00 | |
| 25 | Lukas Kubis | Dukla Banská Bystrica | + 00 | |
| 26 | Francisco Galván | Equipo Kern Pharma | + 00 | |
| 27 | Aljaz Jarc | Adria Mobil | + 00 | |
| 28 | Erik Fetter | EOLO-Kometa Cycling Team | + 00 | |
| 29 | Remi Cavagna | Soudal Quick-Step | + 00 | |
| 30 | Mulu Hailemichael | Caja Rural-Seguros RGA | + 00 | |
| 31 | Bruno Armirail | Groupama-FDJ | + 00 | |
| 32 | Charlie Quarterman | Corratec Selle Italia | + 00 | |
| 33 | Jesse Kramer | Jumbo-Visma | + 00 | |
| 34 | Giovanni Carboni | Equipo Kern Pharma | + 00 | |
| 35 | Timo Roosen | Jumbo-Visma | + 00 | |
| 36 | Alessandro Santaromita | Green Project-Bardiani CSF-Faizanè | + 00 | |
| 37 | Matus Stocek | ATT Investments | + 00 | |
| 38 | Javier Serrano | EOLO-Kometa Cycling Team | + 00 | |
| 39 | Brieuc Rolland | Groupama-FDJ | + 00 | |
| 40 | Bart Lemmen | Human Powered Health | + 00 | |
| 41 | Antonio Barac | Corratec Selle Italia | + 00 | |
| 42 | Jan Barta | Elkov-Kasper | + 00 | |
| 43 | Samuel Tuka | Dukla Banská Bystrica | + 00 | |
| 44 | Davide Bais | EOLO-Kometa Cycling Team | + 00 | |
| 45 | Kasper Asgreen | Soudal Quick-Step | + 00 | |
| 46 | Bert van Lerberghe | Soudal Quick-Step | + 00 | |
| 47 | Olivier Le Gac | Groupama-FDJ | + 00 | |
| 48 | Simone Bevilacqua | EOLO-Kometa Cycling Team | + 00 | |
| 49 | David Gaudu | Groupama-FDJ | + 00 | |
| 50 | Omar El Gouzi | Green Project-Bardiani CSF-Faizanè | + 00 | |
| 51 | Gorka Sorarrain | Caja Rural-Seguros RGA | + 00 | |
| 52 | Jaka Primozic | Hrinkow Advarics | + 00 | |
| 53 | Sebastian Schönberger | Human Powered Health | + 00 | |
| 54 | Maciej Paterski | Voster ATS Team | + 00 | |
| 55 | Kristjan Hocevar | Adria Mobil | + 00 | |
| 56 | Daniel Turek | ATT Investments | + 00 | |
| 57 | Jakub Galovic | Dukla Banská Bystrica | + 00 | |
| 58 | Kristian Aasvold | Human Powered Health | + 00 | |
| 59 | Gleb Syritsa | Astana Qazaqstan Team | + 00 | |
| 60 | Jakub Otruba | ATT Investments | + 00 | |
| 61 | Andrea Pietrobon | EOLO-Kometa Cycling Team | + 00 | |
| 62 | Koen Bouwman | Jumbo-Visma | + 00 | |
| 63 | Daniel Vysocan | RRK Group-Pierre Baguette-Benzinol | + 00 | |
| 64 | Tomas Kalojiros | RRK Group-Pierre Baguette-Benzinol | + 00 | |
| 65 | Loe van Belle | Jumbo-Visma | + 00 | |
| 66 | Thibaut Pinot | Groupama-FDJ | + 00 | |
| 67 | Artur Sowinski | Voster ATS Team | + 00 | |
| 68 | Ignatas Konovalovas | Groupama-FDJ | + 00 | |
| 69 | Alessandro Tonelli | Green Project-Bardiani CSF-Faizanè | + 00 | |
| 70 | Gijs Leemreize | Jumbo-Visma | + 00 | |
| 71 | Filip Lohinsky | Dukla Banská Bystrica | + 00 | |
| 72 | Oliver Stockwell | Cycling Team Friuli ASD | + 00 | |
| 73 | Michal Pomorski | HRE Mazowsze Serce Polski | + 00 | |
| 74 | Andrea Bagioli | Soudal Quick-Step | + 00 | |
| 75 | Riccardo Lucca | Green Project-Bardiani CSF-Faizanè | + 00 | |
| 76 | Antoine Debons | Corratec Selle Italia | + 00 | |
| 77 | Peter Schulting | VolkerWessels Cycling Team | + 00 | |
| 78 | Matteo Amella | Corratec Selle Italia | + 00 | |
| 79 | Martí Márquez | Equipo Kern Pharma | + 00 | |
| 80 | Adam Toupalik | Elkov-Kasper | + 00 | |
| 81 | Alessio Martinelli | Green Project-Bardiani CSF-Faizanè | + 00 | |
| 82 | Tomas Pridal | Elkov-Kasper | + 00 | |
| 83 | Michael Boros | Elkov-Kasper | + 00 | |
| 84 | Tomas Obdrzalek | Elkov-Kasper | + 00 | |
| 85 | Matej Zahalka | Elkov-Kasper | + 00 | |
| 86 | Kristjan Koren | Adria Mobil | + 00 | |
| 87 | Davide de Cassan | Cycling Team Friuli ASD | + 00 | |
| 88 | Tim Declercq | Soudal Quick-Step | + 00 | |
| 89 | Piotr Brozyna | Voster ATS Team | + 00 | |
| 90 | Daniel Eichinger | Hrinkow Advarics | + 00 | |
| 91 | Byron Munton | Epronex-Hungary Cycling Team | + 01:37 | + 01:37 |
| 92 | Marco Andreaus | Cycling Team Friuli ASD | + 00 | |
| 93 | Michael Konczer | Hrinkow Advarics | + 01:46 | + 01:46 |
| 94 | Mateusz Grabis | Voster ATS Team | + 01:47 | + 01:47 |
| 95 | Alessandro Da Ros | Cycling Team Friuli ASD | + 01:47 | + 01:47 |
| 96 | Yevgeniy Fedorov | Astana Qazaqstan Team | + 01:47 | + 01:47 |
| 97 | Aaskov Pallesen Jeppe | HRE Mazowsze Serce Polski | + 03:25 | + 03:25 |
| 98 | Josef Cerný | Soudal Quick-Step | + 05:00 | + 05:00 |
| 99 | Jasper Haest | VolkerWessels Cycling Team | + 05:57 | + 05:57 |
| 100 | Rindert Buiter | VolkerWessels Cycling Team | + 05:57 | + 05:57 |
| 101 | Simone Olivero | Corratec Selle Italia | + 05:57 | + 05:57 |
| 102 | Aljaz Turk | Adria Mobil | + 05:57 | + 05:57 |
| 103 | Simon Nagy | Dukla Banská Bystrica | + 05:57 | + 05:57 |
| 104 | Daan van Sintmaartensdijk | VolkerWessels Cycling Team | + 05:57 | + 05:57 |
| 105 | Eduard Prades | Caja Rural-Seguros RGA | + 06:05 | + 06:05 |
| 106 | Gergo Gonczy | Epronex-Hungary Cycling Team | + 17:32 | + 17:32 |