| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Diego Ulissi | UAE Team Emirates | 03:45:04 | |
| 2 | Magnus Sheffield | INEOS Grenadiers | + 03 | + 03 |
| 3 | Felix Großschartner | UAE Team Emirates | + 03 | + 03 |
| 4 | Adrien Maire | TdT-Unibet | + 03 | + 03 |
| 5 | Rafal Majka | UAE Team Emirates | + 06 | + 06 |
| 6 | David Peña Jesus | Team Jayco-AlUla | + 06 | + 06 |
| 7 | Giulio Pellizzari | VF Group-Bardiani CSF-Faizanè | + 06 | + 06 |
| 8 | Welay Berhe | Team Jayco-AlUla | + 06 | + 06 |
| 9 | Riccardo Zoidl | Team Felt-Felbermayr | + 06 | + 06 |
| 10 | Brandon Rivera | INEOS Grenadiers | + 06 | + 06 |
| 11 | Marton Dina | ATT Investments | + 06 | + 06 |
| 12 | Hermann Pernsteiner | Team Felt-Felbermayr | + 06 | + 06 |
| 13 | Xandro Meurisse | Alpecin-Deceuninck | + 11 | + 11 |
| 14 | Colin Stüssi | Team Vorarlberg | + 11 | + 11 |
| 15 | Jakub Otruba | ATT Investments | + 14 | + 14 |
| 16 | Edward Dunbar | Team Jayco-AlUla | + 14 | + 14 |
| 17 | Davide de Pretto | Team Jayco-AlUla | + 21 | + 21 |
| 18 | Martin Messner | WSA KTM Graz | + 21 | + 21 |
| 19 | Alex Tolio | VF Group-Bardiani CSF-Faizanè | + 27 | + 27 |
| 20 | Bakke Christophersen Cedrik | TdT-Unibet | + 30 | + 30 |
| 21 | Jan Christen | UAE Team Emirates | + 38 | + 38 |
| 22 | Jente Michels | Alpecin-Deceuninck | + 40 | + 40 |
| 23 | Felix Engelhardt | Team Jayco-AlUla | + 47 | + 47 |
| 24 | Aj August | INEOS Grenadiers | + 50 | + 50 |
| 25 | Cole Kessler | Lidl-Trek Future Racing | + 50 | + 50 |
| 26 | Martin Marcellusi | VF Group-Bardiani CSF-Faizanè | + 01:04 | + 01:04 |
| 27 | Nils Aebersold | Lidl-Trek Future Racing | + 01:13 | + 01:13 |
| 28 | Jannis Peter | Team Vorarlberg | + 01:23 | + 01:23 |
| 29 | Samuele Zoccarato | VF Group-Bardiani CSF-Faizanè | + 01:42 | + 01:42 |
| 30 | Tomas Pridal | Elkov-Kasper | + 01:51 | + 01:51 |
| 31 | Edward Ravasi | Team Hrinkow Advarics | + 02:51 | + 02:51 |
| 32 | Jelle Johannink | TdT-Unibet | + 03:24 | + 03:24 |
| 33 | Sebastian Schönberger | Team Felt-Felbermayr | + 03:53 | + 03:53 |
| 34 | Filip Reha | ATT Investments | + 03:53 | + 03:53 |
| 35 | Jaka Primozic | Team Hrinkow Advarics | + 04:00 | + 04:00 |
| 36 | Michael Boros | Elkov-Kasper | + 04:06 | + 04:06 |
| 37 | Philipp Hofbauer | WSA KTM Graz | + 04:21 | + 04:21 |
| 38 | Emanuel Zangerle | Team Felt-Felbermayr | + 05:53 | + 05:53 |
| 39 | Louis Kitzki | Alpecin-Deceuninck | + 05:53 | + 05:53 |
| 40 | Adam Toupalik | TdT-Unibet | + 05:53 | + 05:53 |
| 41 | Filippo Ganna | INEOS Grenadiers | + 05:53 | + 05:53 |
| 42 | Kim Heiduk | INEOS Grenadiers | + 06:01 | + 06:01 |
| 43 | Richard Riska | ATT Investments | + 07:20 | + 07:20 |
| 44 | Martin Barta | Team Lotto-Kern Haus PSD Bank | + 07:26 | + 07:26 |
| 45 | Kamil Szymacha | Voster ATS Team | + 07:29 | + 07:29 |
| 46 | Stinus Kæmpe | WSA KTM Graz | + 07:42 | + 07:42 |
| 47 | Thomas Tichler | WSA KTM Graz | + 07:42 | + 07:42 |
| 48 | Miguel Heidemann | Team Felt-Felbermayr | + 08:02 | + 08:02 |
| 49 | Federico Biagini | VF Group-Bardiani CSF-Faizanè | + 08:07 | + 08:07 |
| 50 | Omar Fraile | INEOS Grenadiers | + 08:07 | + 08:07 |
| 51 | Piotr Brozyna | Team Felt-Felbermayr | + 08:07 | + 08:07 |
| 52 | Benjamin Eckerstorfer | Tirol KTM Cycling Team | + 08:07 | + 08:07 |
| 53 | Stijn Appel | BEAT Cycling Club | + 08:07 | + 08:07 |
| 54 | Storm Ingebrigtsen | Team Coop-Repsol | + 08:07 | + 08:07 |
| 55 | Andre Drege | Team Coop-Repsol | + 08:07 | + 08:07 |
| 56 | Alessandro Tonelli | VF Group-Bardiani CSF-Faizanè | + 08:07 | + 08:07 |
| 57 | Oscar Riesebeek | Alpecin-Deceuninck | + 08:07 | + 08:07 |
| 58 | Broholt Fougner Eivind | Team Coop-Repsol | + 08:07 | + 08:07 |
| 59 | Paul Buschek | Tirol KTM Cycling Team | + 08:07 | + 08:07 |
| 60 | Sjoerd Bax | UAE Team Emirates | + 08:19 | + 08:19 |
| 61 | Owen Geleijn | TdT-Unibet | + 08:37 | + 08:37 |
| 62 | Lukas Rüegg | Team Vorarlberg | + 09:25 | + 09:25 |
| 63 | Michal Schuran | ATT Investments | + 10:09 | + 10:09 |
| 64 | Artur Sowinski | Voster ATS Team | + 12:06 | + 12:06 |
| 65 | Antoni Olszar | Voster ATS Team | + 12:06 | + 12:06 |
| 66 | Abram Stockman | TdT-Unibet | + 12:06 | + 12:06 |
| 67 | Mario Gamper | Santic-Wibatech | + 12:06 | + 12:06 |
| 68 | Simen Evertsen-hegreberg | Tirol KTM Cycling Team | + 12:06 | + 12:06 |
| 69 | Tomas Kopecky | TdT-Unibet | + 12:06 | + 12:06 |
| 70 | Dario Cataldo | Lidl-Trek Future Racing | + 12:06 | + 12:06 |
| 71 | Mauro Brenner | Team Lotto-Kern Haus PSD Bank | + 12:06 | + 12:06 |
| 72 | Jonas Rapp | Team Hrinkow Advarics | + 13:12 | + 13:12 |
| 73 | Moran Vermeulen | Team Vorarlberg | + 13:55 | + 13:55 |
| 74 | Jonas Messerschmidt | Santic-Wibatech | + 13:55 | + 13:55 |
| 75 | Luca Dreßler | Team Lotto-Kern Haus PSD Bank | + 13:55 | + 13:55 |
| 76 | Linus Rosner | Santic-Wibatech | + 13:55 | + 13:55 |
| 77 | Mateusz Kostanski | Voster ATS Team | + 13:55 | + 13:55 |
| 78 | Jan Kaspar | ATT Investments | + 13:55 | + 13:55 |
| 79 | Dominik Röber | P&S Metalltechnik Benotti | + 13:55 | + 13:55 |
| 80 | Rui Oliveira | UAE Team Emirates | + 13:55 | + 13:55 |
| 81 | Utengen Sandstad Halvor | Team Coop-Repsol | + 13:55 | + 13:55 |
| 82 | Jarno Grixa | P&S Metalltechnik Benotti | + 13:55 | + 13:55 |
| 83 | Karel Camrda | ATT Investments | + 13:55 | + 13:55 |
| 84 | Anton Stensby | Team Coop-Repsol | + 13:55 | + 13:55 |
| 85 | Michael Gogl | Alpecin-Deceuninck | + 13:55 | + 13:55 |
| 86 | Matej Zahalka | Elkov-Kasper | + 13:55 | + 13:55 |
| 87 | Lukas Meiler | Team Vorarlberg | + 13:55 | + 13:55 |
| 88 | Alexander Konychev | Team Vorarlberg | + 13:55 | + 13:55 |
| 89 | Riccardo Verza | Team Hrinkow Advarics | + 13:55 | + 13:55 |
| 90 | Trym Brennsæter | Tirol KTM Cycling Team | + 13:55 | + 13:55 |
| 91 | Anton Albrecht | P&S Metalltechnik Benotti | + 13:55 | + 13:55 |
| 92 | Tom Wirtgen | Team Felt-Felbermayr | + 13:55 | + 13:55 |
| 93 | Michiel Coppens | BEAT Cycling Club | + 13:55 | + 13:55 |
| 94 | Laurens Sweeck | Alpecin-Deceuninck | + 13:55 | + 13:55 |
| 95 | Karsten Feldmann | Team Coop-Repsol | + 13:55 | + 13:55 |
| 96 | Matteo Milan | Lidl-Trek Future Racing | + 15:32 | + 15:32 |
| 97 | Michael Leonard | INEOS Grenadiers | + 15:32 | + 15:32 |
| 98 | Simon Baldus | P&S Metalltechnik Benotti | + 15:32 | + 15:32 |
| 99 | Daniel Mraz | Elkov-Kasper | + 15:32 | + 15:32 |
| 100 | Tomas Obdrzalek | Elkov-Kasper | + 15:32 | + 15:32 |
| 101 | Cameron Rogers | Lidl-Trek Future Racing | + 15:35 | + 15:35 |
| 102 | Lucas Plapp | Team Jayco-AlUla | + 15:35 | + 15:35 |
| 103 | Kalle Kvam | Team Coop-Repsol | + 15:35 | + 15:35 |
| 104 | Mil Morang | Team Lotto-Kern Haus PSD Bank | + 15:35 | + 15:35 |
| 105 | Mathieu Kockelmann | Team Lotto-Kern Haus PSD Bank | + 15:35 | + 15:35 |
| 106 | Matthias Gusner | WSA KTM Graz | + 15:35 | + 15:35 |
| 107 | Martin Pedersen | Lidl-Trek Future Racing | + 15:59 | + 15:59 |
| 108 | Bram Dissel | BEAT Cycling Club | + 19:28 | + 19:28 |
| 109 | Maximilian Kabas | Team Hrinkow Advarics | + 19:28 | + 19:28 |
| 110 | Jakub Murias | Voster ATS Team | + 19:28 | + 19:28 |
| 111 | Piotr Maslak | Voster ATS Team | + 19:33 | + 19:33 |
| 112 | Tobias Nolde | P&S Metalltechnik Benotti | + 19:39 | + 19:39 |
| 113 | Daan van Sintmaartensdijk | BEAT Cycling Club | + 19:39 | + 19:39 |
| 114 | Dominik Amann | Team Vorarlberg | + 19:39 | + 19:39 |
| 115 | Jochem Kerckhaert | BEAT Cycling Club | + 19:39 | + 19:39 |
| 116 | Niklas Behrens | Lidl-Trek Future Racing | + 19:39 | + 19:39 |
| 117 | Albert Gathemann | P&S Metalltechnik Benotti | + 19:39 | + 19:39 |