| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Ethan Hayter | Soudal Quick-Step | 00:30:38 | |
| 2 | Brandon Mcnulty | UAE Team Emirates-XRG | + 28 | + 28 |
| 3 | Ben Healy | EF Education-EasyPost | + 58 | + 58 |
| 4 | Thibault Guernalec | ARKEA-B&B HOTELS | + 01:01 | + 01:01 |
| 5 | Oscar Chamberlain | Decathlon AG2R La Mondiale Team | + 01:02 | + 01:02 |
| 6 | Aurélien Paret-peintre | Decathlon AG2R La Mondiale Team | + 01:10 | + 01:10 |
| 7 | Nils Politt | UAE Team Emirates-XRG | + 01:16 | + 01:16 |
| 8 | Richard Carapaz | EF Education-EasyPost | + 01:20 | + 01:20 |
| 9 | Thomas Gachignard | Team TotalEnergies | + 01:22 | + 01:22 |
| 10 | Mattias Skjelmose | Lidl-Trek | + 01:23 | + 01:23 |
| 11 | Mathys Rondel | Tudor Pro Cycling Team | + 01:25 | + 01:25 |
| 12 | Carl-frederik Bevort | Uno-X Mobility | + 01:27 | + 01:27 |
| 13 | Pablo Torres | UAE Team Emirates-XRG | + 01:28 | + 01:28 |
| 14 | Pepijn Reinderink | Soudal Quick-Step | + 01:30 | + 01:30 |
| 15 | Toms Skujins | Lidl-Trek | + 01:35 | + 01:35 |
| 16 | Urko Berrade | Equipo Kern Pharma | + 01:38 | + 01:38 |
| 17 | Jasper Schoofs | Soudal Quick-Step | + 01:42 | + 01:42 |
| 18 | Søren Kragh Andersen | Lidl-Trek | + 01:42 | + 01:42 |
| 19 | Marc Hirschi | Tudor Pro Cycling Team | + 01:43 | + 01:43 |
| 20 | Tao Geoghegan Hart | Lidl-Trek | + 01:45 | + 01:45 |
| 21 | Milan Lanhove | Team Flanders-Baloise | + 01:45 | + 01:45 |
| 22 | Enzo Paleni | Groupama-FDJ | + 01:48 | + 01:48 |
| 23 | Joel Suter | Tudor Pro Cycling Team | + 01:50 | + 01:50 |
| 24 | Tiago Antunes | Efapel Cycling | + 01:54 | + 01:54 |
| 25 | Davide Piganzoli | Team Polti VisitMalta | + 01:56 | + 01:56 |
| 26 | Casper Pedersen | Soudal Quick-Step | + 01:58 | + 01:58 |
| 27 | Marco Brenner | Tudor Pro Cycling Team | + 01:59 | + 01:59 |
| 28 | Jhonatan Narvaez | UAE Team Emirates-XRG | + 02:01 | + 02:01 |
| 29 | Johannes Kulset | Uno-X Mobility | + 02:05 | + 02:05 |
| 30 | Max Walker | EF Education-EasyPost | + 02:06 | + 02:06 |
| 31 | Johan Price-pejtersen | Alpecin-Deceuninck | + 02:07 | + 02:07 |
| 32 | Stefan Bissegger | Decathlon AG2R La Mondiale Team | + 02:08 | + 02:08 |
| 33 | Igor Arrieta | UAE Team Emirates-XRG | + 02:09 | + 02:09 |
| 34 | Victor Papon | Wagner Bazin WB | + 02:14 | + 02:14 |
| 35 | Riccardo Zoidl | Hrinkow Advarics | + 02:14 | + 02:14 |
| 36 | Tibor Del Grosso | Alpecin-Deceuninck | + 02:16 | + 02:16 |
| 37 | Rafal Majka | UAE Team Emirates-XRG | + 02:17 | + 02:17 |
| 38 | Julian Borresch | REMBE | rad-net | + 02:17 | + 02:17 |
| 39 | Mats Wenzel | Equipo Kern Pharma | + 02:27 | + 02:27 |
| 40 | Romain Grégoire | Groupama-FDJ | + 02:27 | + 02:27 |
| 41 | Mathieu Kockelmann | Luxembourg | + 02:35 | + 02:35 |
| 42 | Aaron Dockx | Alpecin-Deceuninck | + 02:38 | + 02:38 |
| 43 | Arno Wallenborn | Luxembourg | + 02:42 | + 02:42 |
| 44 | Mattéo Vercher | Team TotalEnergies | + 02:43 | + 02:43 |
| 45 | Vincenzo Albanese | EF Education-EasyPost | + 02:43 | + 02:43 |
| 46 | Jonas Geens | Team Flanders-Baloise | + 02:46 | + 02:46 |
| 47 | Alessandro Tonelli | Team Polti VisitMalta | + 02:48 | + 02:48 |
| 48 | Eddy Le Huitouze | Groupama-FDJ | + 02:48 | + 02:48 |
| 49 | Simon Guglielmi | ARKEA-B&B HOTELS | + 02:49 | + 02:49 |
| 50 | Jordan Jegat | Team TotalEnergies | + 02:51 | + 02:51 |
| 51 | Jacopo Mosca | Lidl-Trek | + 02:51 | + 02:51 |
| 52 | Baptiste Gillet | ARKEA-B&B HOTELS | + 02:52 | + 02:52 |
| 53 | Victor Vercouillie | Team Flanders-Baloise | + 02:53 | + 02:53 |
| 54 | Joshua Gudnitz | Team Coloquick | + 02:53 | + 02:53 |
| 55 | Michael Gogl | Alpecin-Deceuninck | + 02:58 | + 02:58 |
| 56 | Nicolas Prodhomme | Decathlon AG2R La Mondiale Team | + 02:58 | + 02:58 |
| 57 | Senna Remijn | Alpecin-Deceuninck | + 03:00 | + 03:00 |
| 58 | Pieter Serry | Soudal Quick-Step | + 03:00 | + 03:00 |
| 59 | Henri-francois Haquin | Wagner Bazin WB | + 03:00 | + 03:00 |
| 60 | Morten Nørtoft | Team Coloquick | + 03:02 | + 03:02 |
| 61 | Andrea Vendrame | Decathlon AG2R La Mondiale Team | + 03:03 | + 03:03 |
| 62 | Quentin Bezza | Wagner Bazin WB | + 03:11 | + 03:11 |
| 63 | Ole Theiler | REMBE | rad-net | + 03:11 | + 03:11 |
| 64 | Leon Arenz | REMBE | rad-net | + 03:11 | + 03:11 |
| 65 | Aleksandr Grigorev | Efapel Cycling | + 03:12 | + 03:12 |
| 66 | Joaquim Silva | Efapel Cycling | + 03:15 | + 03:15 |
| 67 | Francisco Muñoz | Team Polti VisitMalta | + 03:16 | + 03:16 |
| 68 | Lennard Kämna | Lidl-Trek | + 03:18 | + 03:18 |
| 69 | Michel Ries | ARKEA-B&B HOTELS | + 03:20 | + 03:20 |
| 70 | Jean-loup Fayolle | ARKEA-B&B HOTELS | + 03:23 | + 03:23 |
| 71 | Mathieu Burgaudeau | Team TotalEnergies | + 03:27 | + 03:27 |
| 72 | Marijn van den Berg | EF Education-EasyPost | + 03:27 | + 03:27 |
| 73 | Aagaard Hansen Tobias | Team Coloquick | + 03:34 | + 03:34 |
| 74 | Silvan Dillier | Alpecin-Deceuninck | + 03:38 | + 03:38 |
| 75 | Giacomo Ballabio | Hrinkow Advarics | + 03:38 | + 03:38 |
| 76 | Pedro Pinto | Efapel Cycling | + 03:40 | + 03:40 |
| 77 | Mattia Bais | Team Polti VisitMalta | + 03:46 | + 03:46 |
| 78 | Kasper Asgreen | EF Education-EasyPost | + 03:46 | + 03:46 |
| 79 | Keegan Swirbul | Efapel Cycling | + 03:57 | + 03:57 |
| 80 | Henrik Pedersen | Uno-X Mobility | + 04:01 | + 04:01 |
| 81 | Johannes Adamietz | REMBE | rad-net | + 04:02 | + 04:02 |
| 82 | Jaka Primozic | Hrinkow Advarics | + 04:09 | + 04:09 |
| 83 | Anders Vos Sørensen | Team Coloquick | + 04:10 | + 04:10 |
| 84 | Toon Clynhens | Team Flanders-Baloise | + 04:16 | + 04:16 |
| 85 | Lorenzo Germani | Groupama-FDJ | + 04:18 | + 04:18 |
| 86 | Malte Hellerup | Team Coloquick | + 04:20 | + 04:20 |
| 87 | Fabien Doubey | Team TotalEnergies | + 04:21 | + 04:21 |
| 88 | Otto Schultz Jølving | Team Coloquick | + 04:24 | + 04:24 |
| 89 | Mathéo Barusseau | Team TotalEnergies | + 04:26 | + 04:26 |
| 90 | Andrea Pietrobon | Team Polti VisitMalta | + 04:27 | + 04:27 |
| 91 | James Knox | Soudal Quick-Step | + 04:29 | + 04:29 |
| 92 | Floris de Tier | Wagner Bazin WB | + 04:31 | + 04:31 |
| 93 | Alexandre Kess | Luxembourg | + 04:35 | + 04:35 |
| 94 | Giacomo Villa | Wagner Bazin WB | + 04:36 | + 04:36 |
| 95 | Diego Uriarte | Equipo Kern Pharma | + 04:36 | + 04:36 |
| 96 | Olivier Le Gac | Groupama-FDJ | + 04:37 | + 04:37 |
| 97 | André Carvalho | Efapel Cycling | + 04:39 | + 04:39 |
| 98 | Jesper Stiansen | Tudor Pro Cycling Team | + 04:42 | + 04:42 |
| 99 | Tom Donnenwirth | Groupama-FDJ | + 04:43 | + 04:43 |
| 100 | Hugo Aznar | Equipo Kern Pharma | + 04:44 | + 04:44 |
| 101 | Laurens Huys | ARKEA-B&B HOTELS | + 04:56 | + 04:56 |
| 102 | Noe Ury | Luxembourg | + 04:59 | + 04:59 |
| 103 | Mil Morang | Luxembourg | + 04:59 | + 04:59 |
| 104 | Ådne Holter | Uno-X Mobility | + 05:10 | + 05:10 |
| 105 | Mats Berns | Luxembourg | + 05:11 | + 05:11 |
| 106 | Cesar Perez | Equipo Kern Pharma | + 05:14 | + 05:14 |
| 107 | Valentin Poschacher | Hrinkow Advarics | + 05:15 | + 05:15 |
| 108 | Arthur Kluckers | Tudor Pro Cycling Team | + 05:25 | + 05:25 |
| 109 | Loïc Bettendorff | Hrinkow Advarics | + 05:32 | + 05:32 |
| 110 | Lindsay de Vylder | Team Flanders-Baloise | + 05:32 | + 05:32 |
| 111 | Pepe Albrecht | REMBE | rad-net | + 05:47 | + 05:47 |
| 112 | Jermaine Zemke | REMBE | rad-net | + 06:06 | + 06:06 |
| 113 | Magnus Kulset | Uno-X Mobility | + 06:06 | + 06:06 |
| 114 | Ibai Azanza | Equipo Kern Pharma | + 06:11 | + 06:11 |
| 115 | Dominik Hödlmoser | Hrinkow Advarics | + 07:19 | + 07:19 |