| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Dorian Godon | Decathlon AG2R La Mondiale Team | 04:05:23 | |
| 2 | Ion Izagirre | Cofidis | + 00 | |
| 3 | Giovanni Lonardi | Team Polti VisitMalta | + 00 | |
| 4 | Cyril Barthe | Groupama-FDJ | + 00 | |
| 5 | Arnaud Démare | ARKEA-B&B HOTELS | + 00 | |
| 6 | Luca Colnaghi | VF Group-Bardiani CSF-Faizanè | + 00 | |
| 7 | Milan Fretin | Cofidis | + 00 | |
| 8 | Aurélien Paret-peintre | Decathlon AG2R La Mondiale Team | + 00 | |
| 9 | Héctor Álvarez | Lidl-Trek Future Racing | + 00 | |
| 10 | Luca Mozzato | ARKEA-B&B HOTELS | + 03 | + 03 |
| 11 | Nicolas Milesi | ARKEA-B&B HOTELS | + 05 | + 05 |
| 12 | Ronan Augé | CIC U Nantes | + 05 | + 05 |
| 13 | Niek Voogt | Parkhotel Valkenburg | + 05 | + 05 |
| 14 | Filippo Ridolfo | Team Novo Nordisk | + 05 | + 05 |
| 15 | Filippo Fiorelli | VF Group-Bardiani CSF-Faizanè | + 05 | + 05 |
| 16 | Vincent Hoppezak | Parkhotel Valkenburg | + 05 | + 05 |
| 17 | Sebastian Nielsen | Unibet Tietema Rockets | + 05 | + 05 |
| 18 | Samuel Leroux | Team TotalEnergies | + 05 | + 05 |
| 19 | Clément Berthet | Decathlon AG2R La Mondiale Team | + 05 | + 05 |
| 20 | Théo Delacroix | St Michel-Preference Home-Auber 93 | + 05 | + 05 |
| 21 | Rait Ärm | Van Rysel-Roubaix | + 05 | + 05 |
| 22 | Pierre Latour | Team TotalEnergies | + 05 | + 05 |
| 23 | Zeb Kyffin | Unibet Tietema Rockets | + 05 | + 05 |
| 24 | Eliott Boulet | Groupama-FDJ | + 05 | + 05 |
| 25 | Anthony Perez | Cofidis | + 05 | + 05 |
| 26 | Francisco Muñoz | Team Polti VisitMalta | + 05 | + 05 |
| 27 | Thibault Guernalec | ARKEA-B&B HOTELS | + 05 | + 05 |
| 28 | Enzo Paleni | Groupama-FDJ | + 05 | + 05 |
| 29 | Joren Bloem | Unibet Tietema Rockets | + 13 | + 13 |
| 30 | Enrico Zanoncello | VF Group-Bardiani CSF-Faizanè | + 13 | + 13 |
| 31 | Anthony Delaplace | ARKEA-B&B HOTELS | + 13 | + 13 |
| 32 | Paul Verbnjak | Lidl-Trek Future Racing | + 13 | + 13 |
| 33 | Nolann Mahoudo | Cofidis | + 13 | + 13 |
| 34 | Manu Guerinel | Van Rysel-Roubaix | + 13 | + 13 |
| 35 | Alexander Konijn | Nice Métropole Côte d'Azur | + 13 | + 13 |
| 36 | Emmanuel Morin | Van Rysel-Roubaix | + 13 | + 13 |
| 37 | Wessel Mouris | Unibet Tietema Rockets | + 13 | + 13 |
| 38 | Romain Cardis | St Michel-Preference Home-Auber 93 | + 13 | + 13 |
| 39 | Jaakko Hänninen | Nice Métropole Côte d'Azur | + 13 | + 13 |
| 40 | Dillon Corkery | St Michel-Preference Home-Auber 93 | + 13 | + 13 |
| 41 | Martijn Rasenberg | Parkhotel Valkenburg | + 13 | + 13 |
| 42 | Jan Maas | Cofidis | + 13 | + 13 |
| 43 | Corentin Devroute | CIC U Nantes | + 13 | + 13 |
| 44 | Daniel Årnes | Van Rysel-Roubaix | + 13 | + 13 |
| 45 | Andrea Peron | Team Novo Nordisk | + 13 | + 13 |
| 46 | Benjamin Thomas | Cofidis | + 26 | + 26 |
| 47 | Kévin Avoine | Van Rysel-Roubaix | + 27 | + 27 |
| 48 | Jason Tesson | Team TotalEnergies | + 29 | + 29 |
| 49 | Andrea Mifsud | Nice Métropole Côte d'Azur | + 31 | + 31 |
| 50 | Hamish Beadle | Team Novo Nordisk | + 36 | + 36 |
| 51 | Cameron Rogers | Lidl-Trek Future Racing | + 40 | + 40 |
| 52 | Martin Pedersen | Lidl-Trek Future Racing | + 40 | + 40 |
| 53 | Kasper Haugland | Decathlon AG2R La Mondiale Team | + 40 | + 40 |
| 54 | Philip Heijnen | Parkhotel Valkenburg | + 40 | + 40 |
| 55 | Clément Davy | Groupama-FDJ | + 47 | + 47 |
| 56 | Bohémond Barrillot | Nice Métropole Côte d'Azur | + 50 | + 50 |
| 57 | Eddy Le Huitouze | Groupama-FDJ | + 01:00 | + 01:00 |
| 58 | Jesper Rasch | Parkhotel Valkenburg | + 01:00 | + 01:00 |
| 59 | Baptiste Planckaert | Van Rysel-Roubaix | + 01:08 | + 01:08 |
| 60 | Lewis Bower | Groupama-FDJ | + 01:18 | + 01:18 |
| 61 | Blake Agnoletto | Groupama-FDJ | + 01:18 | + 01:18 |
| 62 | Baptiste Gillet | ARKEA-B&B HOTELS | + 01:18 | + 01:18 |
| 63 | Oscar Chamberlain | Decathlon AG2R La Mondiale Team | + 01:18 | + 01:18 |
| 64 | Morne van Niekerk | St Michel-Preference Home-Auber 93 | + 01:18 | + 01:18 |
| 65 | Manuel Peñalver | Team Polti VisitMalta | + 01:18 | + 01:18 |
| 66 | Arthur Blaise | Decathlon AG2R La Mondiale Team | + 01:56 | + 01:56 |
| 67 | Thomas Bonnet | Team TotalEnergies | + 03:20 | + 03:20 |
| 68 | Matteo Milan | Lidl-Trek Future Racing | + 03:20 | + 03:20 |
| 69 | Mathis Avondts | Parkhotel Valkenburg | + 03:20 | + 03:20 |
| 70 | David Lozano | Team Novo Nordisk | + 04:28 | + 04:28 |
| 71 | Sam Brand | Team Novo Nordisk | + 04:28 | + 04:28 |
| 72 | Gabriele Raccagni | Team Polti VisitMalta | + 04:28 | + 04:28 |
| 73 | Davide Bais | Team Polti VisitMalta | + 04:28 | + 04:28 |
| 74 | Nils Sinschek | Parkhotel Valkenburg | + 04:28 | + 04:28 |
| 75 | Andrea Montagner | VF Group-Bardiani CSF-Faizanè | + 04:28 | + 04:28 |
| 76 | Filippo Cettolin | VF Group-Bardiani CSF-Faizanè | + 04:28 | + 04:28 |
| 77 | Alessandro Perracchione | Team Novo Nordisk | + 06:04 | + 06:04 |
| 78 | Aidan Buttigieg | Team Polti VisitMalta | + 06:04 | + 06:04 |
| 79 | Célestin Wattelle | Team Novo Nordisk | + 06:13 | + 06:13 |
| 80 | Mattia Pinazzi | VF Group-Bardiani CSF-Faizanè | + 06:13 | + 06:13 |
| 81 | Alan Riou | St Michel-Preference Home-Auber 93 | + 06:16 | + 06:16 |
| 82 | Victor Jean | St Michel-Preference Home-Auber 93 | + 06:16 | + 06:16 |
| 83 | Antoine Hue | CIC U Nantes | + 06:16 | + 06:16 |
| 84 | Maël Guégan | CIC U Nantes | + 06:16 | + 06:16 |
| 85 | Jérémy Lecroq | St Michel-Preference Home-Auber 93 | + 06:24 | + 06:24 |
| 86 | Similien Hamon | CIC U Nantes | + 06:30 | + 06:30 |
| 87 | Emmanuel Houcou | ARKEA-B&B HOTELS | + 06:39 | + 06:39 |
| 88 | Lucas Boniface | Team TotalEnergies | + 09:28 | + 09:28 |
| 89 | Célestin Guillon | Van Rysel-Roubaix | + 09:28 | + 09:28 |
| 90 | Nicola Marcerou | Team TotalEnergies | + 10:42 | + 10:42 |
| 91 | Federico Biagini | VF Group-Bardiani CSF-Faizanè | + 10:42 | + 10:42 |