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