| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Isaac Del Toro | UAE Team Emirates-XRG | 03:27:20 | |
| 2 | Archie Ryan | EF Education-EasyPost | + 04 | + 04 |
| 3 | Rafal Majka | UAE Team Emirates-XRG | + 06 | + 06 |
| 4 | Felix Engelhardt | Team Jayco-AlUla | + 25 | + 25 |
| 5 | Esteban Chaves | EF Education-EasyPost | + 34 | + 34 |
| 6 | Asbjørn Hellemose | Team Jayco-AlUla | + 45 | + 45 |
| 7 | Lennard Kämna | Lidl-Trek | + 51 | + 51 |
| 8 | Jannis Peter | Team Vorarlberg | + 01:18 | + 01:18 |
| 9 | Luca Vergallito | Alpecin-Deceuninck | + 01:27 | + 01:27 |
| 10 | Aj August | INEOS Grenadiers | + 01:27 | + 01:27 |
| 11 | Sean Quinn | EF Education-EasyPost | + 01:27 | + 01:27 |
| 12 | Markel Beloki | EF Education-EasyPost | + 02:27 | + 02:27 |
| 13 | Hermann Pernsteiner | ARBÖ Kärnten Sport Feld Am See | + 02:31 | + 02:31 |
| 14 | Piotr Pekala | ATT Investments | + 03:13 | + 03:13 |
| 15 | Felix Großschartner | UAE Team Emirates-XRG | + 03:13 | + 03:13 |
| 16 | Philipp Hofbauer | WSA KTM Graz | + 03:43 | + 03:43 |
| 17 | Anthon Charmig | XDS Astana Team | + 03:43 | + 03:43 |
| 18 | Killian Verschuren | Unibet Tietema Rockets | + 03:51 | + 03:51 |
| 19 | Darren Rafferty | EF Education-EasyPost | + 04:06 | + 04:06 |
| 20 | Broholt Fougner Eivind | Team Coop-Repsol | + 04:20 | + 04:20 |
| 21 | Edward Ravasi | Hrinkow Advarics | + 04:58 | + 04:58 |
| 22 | Christopher Juul-jensen | Team Jayco-AlUla | + 05:19 | + 05:19 |
| 23 | Bob Jungels | INEOS Grenadiers | + 07:21 | + 07:21 |
| 24 | Riccardo Zoidl | Hrinkow Advarics | + 07:21 | + 07:21 |
| 25 | Martin Messner | WSA KTM Graz | + 07:26 | + 07:26 |
| 26 | Patrick Konrad | Lidl-Trek | + 09:12 | + 09:12 |
| 27 | Kelland O'brien | Team Jayco-AlUla | + 09:12 | + 09:12 |
| 28 | Marcin Budzinski | ATT Investments | + 09:12 | + 09:12 |
| 29 | Martin Barta | ATT Investments | + 09:26 | + 09:26 |
| 30 | Baptiste Huyet | Unibet Tietema Rockets | + 10:10 | + 10:10 |
| 31 | Maciej Banaszak | Voster ATS Team | + 10:33 | + 10:33 |
| 32 | Tomasz Budzinski | Voster ATS Team | + 10:33 | + 10:33 |
| 33 | Samuel Novak | Tirol KTM Cycling Team | + 12:08 | + 12:08 |
| 34 | Matteo Zurlo | SC Padovani Polo Cherry Bank | + 12:08 | + 12:08 |
| 35 | Paul Verbnjak | Lidl-Trek | + 12:49 | + 12:49 |
| 36 | Owen Geleijn | Unibet Tietema Rockets | + 13:24 | + 13:24 |
| 37 | Patrick Gamper | Team Jayco-AlUla | + 14:30 | + 14:30 |
| 38 | Marco Schrettl | Tirol KTM Cycling Team | + 14:30 | + 14:30 |
| 39 | Carlo Monti Alberto | ATT Investments | + 14:30 | + 14:30 |
| 40 | Artur Sowinski | Run&Race-Wibatech | + 14:30 | + 14:30 |
| 41 | Michal Schuran | Team United Shipping | + 14:30 | + 14:30 |
| 42 | Paul Double | Team Jayco-AlUla | + 14:30 | + 14:30 |
| 43 | Rui Costa | EF Education-EasyPost | + 14:30 | + 14:30 |
| 44 | Ryan Gibbons | Lidl-Trek | + 15:40 | + 15:40 |
| 45 | Konrad Waliniak | Voster ATS Team | + 15:40 | + 15:40 |
| 46 | Michael Peter | Run&Race-Wibatech | + 15:40 | + 15:40 |
| 47 | Giacomo Ballabio | Hrinkow Advarics | + 15:40 | + 15:40 |
| 48 | Nils Puschmann | Run&Race-Wibatech | + 15:40 | + 15:40 |
| 49 | Nicolas Vinokurov | XDS Astana Team | + 16:15 | + 16:15 |
| 50 | Florian Vermeersch | UAE Team Emirates-XRG | + 16:15 | + 16:15 |
| 51 | Lennert Belmans | Alpecin-Deceuninck | + 16:15 | + 16:15 |
| 52 | Jonas Messerschmidt | Run&Race-Wibatech | + 16:44 | + 16:44 |
| 53 | Thomas Tichler | WSA KTM Graz | + 16:48 | + 16:48 |
| 54 | Alexander Konychev | Team Vorarlberg | + 17:32 | + 17:32 |
| 55 | Colin Stüssi | Team Vorarlberg | + 17:32 | + 17:32 |
| 56 | Daniel Geismayr | Team Vorarlberg | + 17:32 | + 17:32 |
| 57 | Michael Leonard | INEOS Grenadiers | + 17:54 | + 17:54 |
| 58 | Victor Langellotti | INEOS Grenadiers | + 17:54 | + 17:54 |
| 59 | Filip Reha | ATT Investments | + 18:22 | + 18:22 |
| 60 | Daniil Marukhin | XDS Astana Team | + 18:22 | + 18:22 |
| 61 | Richard Riska | Hrinkow Advarics | + 18:47 | + 18:47 |
| 62 | Kilian Feurstein | Team Vorarlberg | + 18:52 | + 18:52 |
| 63 | Filippo Baroncini | UAE Team Emirates-XRG | + 19:02 | + 19:02 |
| 64 | Vang Aas Eirik | Team Coop-Repsol | + 19:02 | + 19:02 |
| 65 | Zsombor Palumby | Team United Shipping | + 19:31 | + 19:31 |
| 66 | Erik Fetter | Team United Shipping | + 19:31 | + 19:31 |
| 67 | Mattie Dodd | Tirol KTM Cycling Team | + 19:38 | + 19:38 |
| 68 | Nicolas Ginter | Tirol KTM Cycling Team | + 19:38 | + 19:38 |
| 69 | Ide Schelling | XDS Astana Team | + 19:59 | + 19:59 |
| 70 | Héctor Álvarez | Lidl-Trek | + 19:59 | + 19:59 |
| 71 | Patrick Reißig | Benotti - Berthold | + 19:59 | + 19:59 |
| 72 | Dominik Röber | Benotti - Berthold | + 19:59 | + 19:59 |
| 73 | Anton Stensby | Team Coop-Repsol | + 21:51 | + 21:51 |
| 74 | Salvatore Puccio | INEOS Grenadiers | + 21:51 | + 21:51 |
| 75 | Simon Vanicek | ATT Investments | + 21:51 | + 21:51 |
| 76 | Matthias Gusner | WSA KTM Graz | + 21:51 | + 21:51 |
| 77 | Mateusz Kostanski | Voster ATS Team | + 21:56 | + 21:56 |
| 78 | Eric Meinberg | Benotti - Berthold | + 22:53 | + 22:53 |
| 79 | Toon Vandebosch | Alpecin-Deceuninck | + 23:34 | + 23:34 |
| 80 | Tim Kößler | Benotti - Berthold | + 23:36 | + 23:36 |
| 81 | Zak Coleman | Voster ATS Team | + 23:48 | + 23:48 |
| 82 | Kalle Kvam | Team Coop-Repsol | + 24:16 | + 24:16 |
| 83 | Tobias Kreuzer | Run&Race-Wibatech | + 24:16 | + 24:16 |
| 84 | Kevin Inkelaar | Unibet Tietema Rockets | + 24:16 | + 24:16 |
| 85 | Jensen Plowright | Alpecin-Deceuninck | + 24:51 | + 24:51 |
| 86 | Michael Gogl | Alpecin-Deceuninck | + 24:51 | + 24:51 |
| 87 | Maximilian Schmidbauer | WSA KTM Graz | + 24:51 | + 24:51 |
| 88 | Bartlomiej Proc | Run&Race-Wibatech | + 24:54 | + 24:54 |
| 89 | Riccardo Verza | Hrinkow Advarics | + 25:28 | + 25:28 |
| 90 | Federico Guzzo | SC Padovani Polo Cherry Bank | + 25:28 | + 25:28 |
| 91 | Kevin Bonaldo | SC Padovani Polo Cherry Bank | + 26:13 | + 26:13 |
| 92 | Julius Johansen | UAE Team Emirates-XRG | + 26:13 | + 26:13 |
| 93 | Matteo Baseggio | SC Padovani Polo Cherry Bank | + 26:13 | + 26:13 |
| 94 | Pirmin Benz | Team Vorarlberg | + 26:18 | + 26:18 |
| 95 | Emanuel Zangerle | Team Vorarlberg | + 26:18 | + 26:18 |
| 96 | Alessandro Covi | UAE Team Emirates-XRG | + 26:21 | + 26:21 |
| 97 | Magnus Wæhre | Team Coop-Repsol | + 26:30 | + 26:30 |
| 98 | Paul Buschek | Hrinkow Advarics | + 26:46 | + 26:46 |
| 99 | Lundtoft Lindbjerg Rasmus | ARBÖ Kärnten Sport Feld Am See | + 27:13 | + 27:13 |
| 100 | Magnus Sørbø | Team Coop-Repsol | + 27:32 | + 27:32 |
| 101 | Jaka Primozic | Hrinkow Advarics | + 27:42 | + 27:42 |
| 102 | Heorhii Antonenko | ARBÖ Kärnten Sport Feld Am See | + 27:56 | + 27:56 |
| 103 | Stefan Pöll | ARBÖ Kärnten Sport Feld Am See | + 27:56 | + 27:56 |
| 104 | Dominik Neuman | ATT Investments | + 27:56 | + 27:56 |
| 105 | Tobias Nolde | Benotti - Berthold | + 28:37 | + 28:37 |
| 106 | Albert Gathemann | Benotti - Berthold | + 28:39 | + 28:39 |
| 107 | Patryk Stosz | Voster ATS Team | + 28:41 | + 28:41 |
| 108 | Wil Holmes | Team Jayco-AlUla | + 28:43 | + 28:43 |
| 109 | David Paumann | Tirol KTM Cycling Team | + 30:14 | + 30:14 |
| 110 | Bálint Feldhoffer | Team United Shipping | + 30:14 | + 30:14 |
| 111 | Niels Vandeputte | Alpecin-Deceuninck | + 30:14 | + 30:14 |
| 112 | Martin Pedersen | Lidl-Trek | + 31:16 | + 31:16 |
| 113 | Szabolcs Csaki | Team United Shipping | + 31:16 | + 31:16 |
| 114 | Calvin Dik | Benotti - Berthold | + 31:16 | + 31:16 |