| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Bastien Tronchon | Decathlon AG2R La Mondiale Team | 04:43:14 | |
| 2 | Pierre Gautherat | Decathlon AG2R La Mondiale Team | + 00 | |
| 3 | Valentin Madouas | Groupama-FDJ | + 19 | + 19 |
| 4 | Anthony Turgis | Team TotalEnergies | + 19 | + 19 |
| 5 | Fredrik Dversnes | Uno-X Mobility | + 32 | + 32 |
| 6 | Cees Bol | XDS Astana Team | + 38 | + 38 |
| 7 | Rasmus Tiller | Uno-X Mobility | + 38 | + 38 |
| 8 | Fred Wright | Bahrain Victorious | + 38 | + 38 |
| 9 | Lucas Eriksson | Tudor Pro Cycling Team | + 38 | + 38 |
| 10 | Kévin Vauquelin | ARKEA-B&B HOTELS | + 38 | + 38 |
| 11 | Vlad van Mechelen | Bahrain Victorious | + 45 | + 45 |
| 12 | Florian Dauphin | Team TotalEnergies | + 52 | + 52 |
| 13 | Lewis Askey | Groupama-FDJ | + 01:41 | + 01:41 |
| 14 | Hugo de La Calle | Burgos Burpellet BH | + 01:45 | + 01:45 |
| 15 | Jenthe Biermans | ARKEA-B&B HOTELS | + 02:11 | + 02:11 |
| 16 | Matis Louvel | Israel-Premier Tech | + 02:11 | + 02:11 |
| 17 | Hartthijs de Vries | Unibet Tietema Rockets | + 02:11 | + 02:11 |
| 18 | Søren Wærenskjold | Uno-X Mobility | + 02:21 | + 02:21 |
| 19 | Hugo Hofstetter | Israel-Premier Tech | + 02:21 | + 02:21 |
| 20 | Jérémy Lecroq | St Michel-Preference Home-Auber 93 | + 02:21 | + 02:21 |
| 21 | Tom van Asbroeck | Israel-Premier Tech | + 02:21 | + 02:21 |
| 22 | Clément Venturini | ARKEA-B&B HOTELS | + 02:21 | + 02:21 |
| 23 | Mike Teunissen | XDS Astana Team | + 02:21 | + 02:21 |
| 24 | Pau Miquel Delgado | Equipo Kern Pharma | + 02:21 | + 02:21 |
| 25 | Lukas Kubis | Unibet Tietema Rockets | + 02:21 | + 02:21 |
| 26 | Robin Froidevaux | Tudor Pro Cycling Team | + 02:21 | + 02:21 |
| 27 | Carlos Canal | Movistar Team | + 02:21 | + 02:21 |
| 28 | Emmanuel Morin | Van Rysel-Roubaix | + 02:21 | + 02:21 |
| 29 | Sandy Dujardin | Team TotalEnergies | + 02:21 | + 02:21 |
| 30 | Eddy Le Huitouze | Groupama-FDJ | + 02:21 | + 02:21 |
| 31 | Morne van Niekerk | St Michel-Preference Home-Auber 93 | + 02:21 | + 02:21 |
| 32 | Fabian Lienhard | Tudor Pro Cycling Team | + 02:21 | + 02:21 |
| 33 | Olivier Le Gac | Groupama-FDJ | + 02:21 | + 02:21 |
| 34 | Sunekær Norsgaard Mathias | Movistar Team | + 02:21 | + 02:21 |
| 35 | Alessandro Romele | XDS Astana Team | + 02:21 | + 02:21 |
| 36 | Brent van Moer | Lotto | + 02:21 | + 02:21 |
| 37 | Lander Loockx | Unibet Tietema Rockets | + 02:28 | + 02:28 |
| 38 | Alberto Bettiol | XDS Astana Team | + 02:48 | + 02:48 |
| 39 | Gonzalo Serrano | Movistar Team | + 03:21 | + 03:21 |
| 40 | Matys Grisel | Lotto | + 03:24 | + 03:24 |
| 41 | Alexis Renard | Cofidis | + 03:31 | + 03:31 |
| 42 | Floris de Tier | Wagner Bazin WB | + 03:31 | + 03:31 |
| 43 | William Blume Levy | Uno-X Mobility | + 03:34 | + 03:34 |
| 44 | Aaron Gate | XDS Astana Team | + 03:36 | + 03:36 |
| 45 | Alan Riou | St Michel-Preference Home-Auber 93 | + 03:36 | + 03:36 |
| 46 | Arnaud Démare | ARKEA-B&B HOTELS | + 03:36 | + 03:36 |
| 47 | Søjberg Pedersen Rasmus | Decathlon AG2R La Mondiale Team | + 04:32 | + 04:32 |
| 48 | Milan Menten | Lotto | + 04:32 | + 04:32 |
| 49 | Antoine Hue | CIC U Nantes | + 04:32 | + 04:32 |
| 50 | Rémi Capron | Van Rysel-Roubaix | + 04:32 | + 04:32 |
| 51 | Diego Pescador | Movistar Team | + 04:32 | + 04:32 |
| 52 | Georg Zimmermann | Intermarché-Wanty | + 04:32 | + 04:32 |
| 53 | Sam Maisonobe | Cofidis | + 04:32 | + 04:32 |
| 54 | Yevgeniy Fedorov | XDS Astana Team | + 04:32 | + 04:32 |
| 55 | Erik Resell | Uno-X Mobility | + 04:32 | + 04:32 |
| 56 | Dillon Corkery | St Michel-Preference Home-Auber 93 | + 04:36 | + 04:36 |
| 57 | Ronan Augé | CIC U Nantes | + 04:36 | + 04:36 |
| 58 | Adam Toupalik | Unibet Tietema Rockets | + 04:40 | + 04:40 |
| 59 | Killian Théot | Van Rysel-Roubaix | + 04:41 | + 04:41 |
| 60 | Antonio Angulo | Burgos Burpellet BH | + 06:12 | + 06:12 |
| 61 | Danny van der Tuuk | Euskaltel-Euskadi | + 06:13 | + 06:13 |
| 62 | Alec Segaert | Lotto | + 06:58 | + 06:58 |
| 63 | Biniam Girmay | Intermarché-Wanty | + 06:58 | + 06:58 |
| 64 | Laurenz Rex | Intermarché-Wanty | + 09:02 | + 09:02 |
| 65 | Sébastien Grignard | Lotto | + 09:02 | + 09:02 |
| 66 | Aimé de Gendt | Cofidis | + 09:02 | + 09:02 |
| 67 | William Graff | Intermarché-Wanty | + 09:13 | + 09:13 |
| 68 | Alexys Brunel | Team TotalEnergies | + 09:13 | + 09:13 |
| 69 | Iker Bonillo | Euskaltel-Euskadi | + 09:13 | + 09:13 |
| 70 | Matej Mohoric | Bahrain Victorious | + 09:13 | + 09:13 |
| 71 | Daniel Årnes | Van Rysel-Roubaix | + 09:13 | + 09:13 |
| 72 | Sergio Meris | Unibet Tietema Rockets | + 09:13 | + 09:13 |
| 73 | Sander de Pestel | Decathlon AG2R La Mondiale Team | + 09:17 | + 09:17 |
| 74 | Leander van Hautegem | Wagner Bazin WB | + 11:56 | + 11:56 |
| 75 | Rodrigo Álvarez | Burgos Burpellet BH | + 11:56 | + 11:56 |
| 76 | Baptiste Vadic | Team TotalEnergies | + 11:56 | + 11:56 |
| 77 | Yaël Joalland | CIC U Nantes | + 11:56 | + 11:56 |
| 78 | Amaury Capiot | ARKEA-B&B HOTELS | + 12:04 | + 12:04 |
| 79 | Oded Kogut | Israel-Premier Tech | + 13:55 | + 13:55 |
| 80 | Alberto Bruttomesso | Bahrain Victorious | + 13:55 | + 13:55 |
| 81 | Axel Narbonne-zuccarelli | Nice Métropole Côte d'Azur | + 13:55 | + 13:55 |
| 82 | Mathis Le Berre | ARKEA-B&B HOTELS | + 14:51 | + 14:51 |
| 83 | Andreas Stokbro Nielsen | Unibet Tietema Rockets | + 19:53 | + 19:53 |
| 84 | Carl-frederik Bevort | Uno-X Mobility | + 19:53 | + 19:53 |
| 85 | Alexander Konijn | Nice Métropole Côte d'Azur | + 20:37 | + 20:37 |
| 86 | Daniel Cavia | Burgos Burpellet BH | + 20:46 | + 20:46 |
| 87 | Riley Pickrell | Israel-Premier Tech | + 21:24 | + 21:24 |