| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Greg van Avermaet | AG2R Citroën Team | 04:21:06 | |
| 2 | Florian Vermeersch | Lotto Dstny | + 00 | |
| 3 | Jon Barrenetxea | Caja Rural-Seguros RGA | + 00 | |
| 4 | Marco Tizza | Bingoal WB | + 00 | |
| 5 | Clément Venturini | AG2R Citroën Team | + 00 | |
| 6 | Axel Zingle | Cofidis | + 00 | |
| 7 | Sam Watson | Groupama-FDJ | + 00 | |
| 8 | Luca van Boven | Bingoal WB | + 00 | |
| 9 | Romain Grégoire | Groupama-FDJ | + 00 | |
| 10 | Sandy Dujardin | TotalEnergies | + 00 | |
| 11 | Jordan Jegat | CIC U Nantes Atlantique | + 00 | |
| 12 | Jesus Herrada | Cofidis | + 04 | + 04 |
| 13 | Carlos Canal | Euskaltel-Euskadi | + 04 | + 04 |
| 14 | Anthony Maldonado | Saint Michel-Mavic-Auber 93 | + 04 | + 04 |
| 15 | Laurent Pichon | Team Arkéa-Samsic | + 04 | + 04 |
| 16 | Jordi Lopez | Equipo Kern Pharma | + 04 | + 04 |
| 17 | Xabier Berasategi | Euskaltel-Euskadi | + 04 | + 04 |
| 18 | Francisco Galván | Equipo Kern Pharma | + 04 | + 04 |
| 19 | Michael Schwarzmann | Lotto Dstny | + 04 | + 04 |
| 20 | Alex Jaime | Equipo Kern Pharma | + 04 | + 04 |
| 21 | Jacob Hindsgaul Madsen | Uno-X Pro Cycling Team | + 04 | + 04 |
| 22 | Yaël Joalland | CIC U Nantes Atlantique | + 04 | + 04 |
| 23 | David González | Caja Rural-Seguros RGA | + 04 | + 04 |
| 24 | Maxime Urruty | Nice Métropole Côte d'Azur | + 04 | + 04 |
| 25 | Kevin Ledanois | Team Arkéa-Samsic | + 04 | + 04 |
| 26 | Jefferson Cepeda | Caja Rural-Seguros RGA | + 04 | + 04 |
| 27 | Noa Isidore | CIC U Nantes Atlantique | + 11 | + 11 |
| 28 | Julen Amezqueta | Caja Rural-Seguros RGA | + 11 | + 11 |
| 29 | Thomas Gachignard | Saint Michel-Mavic-Auber 93 | + 14 | + 14 |
| 30 | Jonathan Couanon | Nice Métropole Côte d'Azur | + 15 | + 15 |
| 31 | Florian Carpentier | Team Ecoflo Chronos | + 15 | + 15 |
| 32 | Léo Danès | CIC U Nantes Atlantique | + 17 | + 17 |
| 33 | Thomas Devaux | Saint Michel-Mavic-Auber 93 | + 19 | + 19 |
| 34 | Olivier Le Gac | Groupama-FDJ | + 19 | + 19 |
| 35 | Johannes Adamietz | Lotto Dstny | + 19 | + 19 |
| 36 | Joel Nicolau | Caja Rural-Seguros RGA | + 19 | + 19 |
| 37 | Carlos Garcia | Equipo Kern Pharma | + 19 | + 19 |
| 38 | Enekoitz Azparren | Euskaltel-Euskadi | + 23 | + 23 |
| 39 | Théo Delacroix | Saint Michel-Mavic-Auber 93 | + 25 | + 25 |
| 40 | Julian Lino | Nice Métropole Côte d'Azur | + 28 | + 28 |
| 41 | Laurence Pithie | Groupama-FDJ | + 28 | + 28 |
| 42 | Harrison Wood | Cofidis | + 33 | + 33 |
| 43 | Magnus Brynsrud | Uno-X Pro Cycling Team | + 37 | + 37 |
| 44 | Mathijs Paasschens | Lotto Dstny | + 37 | + 37 |
| 45 | Eddy Finé | Cofidis | + 37 | + 37 |
| 46 | Elie Gesbert | Team Arkéa-Samsic | + 40 | + 40 |
| 47 | Alexis Guérin | Bingoal WB | + 48 | + 48 |
| 48 | Frederik Frison | Lotto Dstny | + 48 | + 48 |
| 49 | Aaron van der Beken | Bingoal WB | + 48 | + 48 |
| 50 | Floris de Tier | Bingoal WB | + 48 | + 48 |
| 51 | Mikel Retegi | Equipo Kern Pharma | + 51 | + 51 |
| 52 | Antoine Raugel | AG2R Citroën Team | + 51 | + 51 |
| 53 | Stan Dewulf | AG2R Citroën Team | + 51 | + 51 |
| 54 | Dimitri Peyskens | Bingoal WB | + 51 | + 51 |
| 55 | Alan Jousseaume | TotalEnergies | + 51 | + 51 |
| 56 | Magnus Kulset | Uno-X Pro Cycling Team | + 51 | + 51 |
| 57 | Mathis Le Berre | Team Arkéa-Samsic | + 56 | + 56 |
| 58 | Fabien Grellier | TotalEnergies | + 01:02 | + 01:02 |
| 59 | Jose Herrada | Cofidis | + 01:10 | + 01:10 |
| 60 | Pierre-luc Périchon | Cofidis | + 01:14 | + 01:14 |
| 61 | Fredrik Dversnes | Uno-X Pro Cycling Team | + 01:16 | + 01:16 |
| 62 | Jaakko Hänninen | AG2R Citroën Team | + 01:20 | + 01:20 |
| 63 | Bastien Tronchon | AG2R Citroën Team | + 01:20 | + 01:20 |
| 64 | Ådne Holter | Uno-X Pro Cycling Team | + 01:49 | + 01:49 |
| 65 | Hugo Hofstetter | Team Arkéa-Samsic | + 02:37 | + 02:37 |
| 66 | Lukasz Owsian | Team Arkéa-Samsic | + 03:59 | + 03:59 |
| 67 | Edo Goldstein | Team Ecoflo Chronos | + 03:59 | + 03:59 |
| 68 | Lorenzo Germani | Groupama-FDJ | + 04:50 | + 04:50 |