| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Marijn van den Berg | EF Education-EasyPost | 04:18:54 | |
| 2 | Sandy Dujardin | TotalEnergies | + 00 | |
| 3 | Paul Penhoët | Groupama-FDJ | + 00 | |
| 4 | Corbin Strong | Israel-Premier Tech | + 00 | |
| 5 | Dries van Gestel | TotalEnergies | + 00 | |
| 6 | Benoît Cosnefroy | AG2R Citroën Team | + 00 | |
| 7 | Lucas Plapp | INEOS Grenadiers | + 00 | |
| 8 | Michael Woods | Israel-Premier Tech | + 00 | |
| 9 | Filippo Ganna | INEOS Grenadiers | + 00 | |
| 10 | Valentin Paret-peintre | AG2R Citroën Team | + 00 | |
| 11 | Thomas Gachignard | Saint Michel-Mavic-Auber 93 | + 00 | |
| 12 | Roger Adrià | Equipo Kern Pharma | + 00 | |
| 13 | Nicolas Prodhomme | AG2R Citroën Team | + 00 | |
| 14 | Chris Froome | Israel-Premier Tech | + 00 | |
| 15 | Rudy Molard | Groupama-FDJ | + 00 | |
| 16 | Einer Rubio | Movistar Team | + 00 | |
| 17 | Alex Baudin | AG2R Citroën Team | + 00 | |
| 18 | Cristian Rodriguez | Team Arkéa-Samsic | + 00 | |
| 19 | Georg Steinhauser | EF Education-EasyPost | + 00 | |
| 20 | Ådne Holter | Uno-X Pro Cycling Team | + 00 | |
| 21 | Bastien Tronchon | AG2R Citroën Team | + 00 | |
| 22 | Domenico Pozzovivo | Israel-Premier Tech | + 00 | |
| 23 | Elia Viviani | INEOS Grenadiers | + 00 | |
| 24 | Guillaume Boivin | Israel-Premier Tech | + 05 | + 05 |
| 25 | Anthony Turgis | TotalEnergies | + 05 | + 05 |
| 26 | Célestin Guillon | Van Rysel-Roubaix Lille Métropole | + 29 | + 29 |
| 27 | Pablo Castrillo | Equipo Kern Pharma | + 44 | + 44 |
| 28 | Emmanuel Morin | CIC U Nantes Atlantique | + 44 | + 44 |
| 29 | Cyril Barthe | Burgos-BH | + 44 | + 44 |
| 30 | Enzo Paleni | Groupama-FDJ | + 44 | + 44 |
| 31 | Nicolas Debeaumarché | Saint Michel-Mavic-Auber 93 | + 44 | + 44 |
| 32 | Simon Carr | EF Education-EasyPost | + 44 | + 44 |
| 33 | François Bidard | Cofidis | + 44 | + 44 |
| 34 | Christian Eiking Odd | EF Education-EasyPost | + 44 | + 44 |
| 35 | Julen Amezqueta | Caja Rural-Seguros RGA | + 44 | + 44 |
| 36 | Léo Danès | CIC U Nantes Atlantique | + 44 | + 44 |
| 37 | Jordan Jegat | CIC U Nantes Atlantique | + 44 | + 44 |
| 38 | Ibai Azurmendi | Euskaltel-Euskadi | + 44 | + 44 |
| 39 | Diego Camargo | EF Education-EasyPost | + 44 | + 44 |
| 40 | Jesus Herrada | Cofidis | + 44 | + 44 |
| 41 | Orluis Aular | Caja Rural-Seguros RGA | + 44 | + 44 |
| 42 | Imanol Erviti | Movistar Team | + 44 | + 44 |
| 43 | Alan Jousseaume | TotalEnergies | + 44 | + 44 |
| 44 | Ruben Guerreiro | Movistar Team | + 44 | + 44 |
| 45 | Pelayo Sanchez | Burgos-BH | + 44 | + 44 |
| 46 | Nacer Bouhanni | Team Arkéa-Samsic | + 44 | + 44 |
| 47 | Lars van den Berg | Groupama-FDJ | + 44 | + 44 |
| 48 | Félix Parra José | Equipo Kern Pharma | + 44 | + 44 |
| 49 | Fabien Doubey | TotalEnergies | + 44 | + 44 |
| 50 | Andrea Vendrame | AG2R Citroën Team | + 44 | + 44 |
| 51 | Julien Simon | TotalEnergies | + 44 | + 44 |
| 52 | Jason Tesson | TotalEnergies | + 44 | + 44 |
| 53 | Jean-louis Le Ny | Nice Métropole Côte d'Azur | + 44 | + 44 |
| 54 | Brandon Rivera | INEOS Grenadiers | + 44 | + 44 |
| 55 | Lorenzo Germani | Groupama-FDJ | + 44 | + 44 |
| 56 | Manuel Diaz Jose | Burgos-BH | + 44 | + 44 |
| 57 | Michel Ries | Team Arkéa-Samsic | + 44 | + 44 |
| 58 | Johannes Kulset | Uno-X Pro Cycling Team | + 44 | + 44 |
| 59 | Paul Lapeira | AG2R Citroën Team | + 44 | + 44 |
| 60 | Victor Lafay | Cofidis | + 44 | + 44 |
| 61 | Abel Balderstone | Caja Rural-Seguros RGA | + 44 | + 44 |
| 62 | Jenthe Biermans | Team Arkéa-Samsic | + 44 | + 44 |
| 63 | Ivan Sosa | Movistar Team | + 44 | + 44 |
| 64 | Enekoitz Azparren | Euskaltel-Euskadi | + 44 | + 44 |
| 65 | Maxime Jarnet | Van Rysel-Roubaix Lille Métropole | + 44 | + 44 |
| 66 | Flavien Maurelet | Saint Michel-Mavic-Auber 93 | + 44 | + 44 |
| 67 | Joris Delbove | Saint Michel-Mavic-Auber 93 | + 44 | + 44 |
| 68 | Luke Rowe | INEOS Grenadiers | + 44 | + 44 |
| 69 | Stephen Williams | Israel-Premier Tech | + 44 | + 44 |
| 70 | Elie Gesbert | Team Arkéa-Samsic | + 44 | + 44 |
| 71 | Michael Valgren | EF Education-EasyPost | + 02:19 | + 02:19 |
| 72 | Calum Johnston | Caja Rural-Seguros RGA | + 02:24 | + 02:24 |
| 73 | Daniel Navarro | Burgos-BH | + 02:24 | + 02:24 |
| 74 | Niklas Eg | Uno-X Pro Cycling Team | + 02:24 | + 02:24 |
| 75 | Jérémy Leveau | Van Rysel-Roubaix Lille Métropole | + 02:24 | + 02:24 |
| 76 | Carlos Garcia | Equipo Kern Pharma | + 03:21 | + 03:21 |
| 77 | Maximilien Juillard | Van Rysel-Roubaix Lille Métropole | + 03:21 | + 03:21 |
| 78 | Vinicius Rangel | Movistar Team | + 04:00 | + 04:00 |
| 79 | Hugo Toumire | Cofidis | + 04:00 | + 04:00 |
| 80 | Théo Delacroix | Saint Michel-Mavic-Auber 93 | + 04:00 | + 04:00 |
| 81 | Alessandro Verre | Team Arkéa-Samsic | + 04:06 | + 04:06 |
| 82 | Thomas Boudat | Van Rysel-Roubaix Lille Métropole | + 04:06 | + 04:06 |
| 83 | Bram Welten | Groupama-FDJ | + 05:17 | + 05:17 |
| 84 | Lukasz Wisniowski | EF Education-EasyPost | + 05:30 | + 05:30 |
| 85 | Mario Aparicio | Burgos-BH | + 05:30 | + 05:30 |
| 86 | Joshua Tarling | INEOS Grenadiers | + 05:30 | + 05:30 |
| 87 | Ibon Ruiz | Equipo Kern Pharma | + 05:30 | + 05:30 |
| 88 | Marcus Sander Hansen | Uno-X Pro Cycling Team | + 05:30 | + 05:30 |
| 89 | Enzo Boulet | CIC U Nantes Atlantique | + 10:00 | + 10:00 |
| 90 | Søjberg Pedersen Rasmus | CIC U Nantes Atlantique | + 10:00 | + 10:00 |
| 91 | Larry Valvasori | Nice Métropole Côte d'Azur | + 10:00 | + 10:00 |
| 92 | Asier Etxeberria | Euskaltel-Euskadi | + 10:00 | + 10:00 |
| 93 | Unai Cuadrado | Euskaltel-Euskadi | + 10:00 | + 10:00 |
| 94 | Tom Mainguenaud | Van Rysel-Roubaix Lille Métropole | + 10:00 | + 10:00 |
| 95 | Eric Fagundez | Burgos-BH | + 10:00 | + 10:00 |
| 96 | Iñigo Elosegui | Equipo Kern Pharma | + 10:00 | + 10:00 |
| 97 | Thomas Devaux | Saint Michel-Mavic-Auber 93 | + 10:00 | + 10:00 |
| 98 | Jon Agirre | Equipo Kern Pharma | + 10:00 | + 10:00 |
| 99 | Mulu Hailemichael | Caja Rural-Seguros RGA | + 10:00 | + 10:00 |
| 100 | Josu Etxeberria | Caja Rural-Seguros RGA | + 10:00 | + 10:00 |
| 101 | Jhojan Garcia | Caja Rural-Seguros RGA | + 10:00 | + 10:00 |
| 102 | Axel Narbonne-zuccarelli | Nice Métropole Côte d'Azur | + 10:00 | + 10:00 |
| 103 | Jacob Hindsgaul Madsen | Uno-X Pro Cycling Team | + 10:00 | + 10:00 |
| 104 | Jose Herrada | Cofidis | + 10:00 | + 10:00 |
| 105 | Omer Goldstein | Israel-Premier Tech | + 10:00 | + 10:00 |
| 106 | Sergio Samitier | Movistar Team | + 10:00 | + 10:00 |
| 107 | Yaël Joalland | CIC U Nantes Atlantique | + 10:00 | + 10:00 |
| 108 | Abner González | Movistar Team | + 10:00 | + 10:00 |
| 109 | Jonathan Couanon | Nice Métropole Côte d'Azur | + 10:00 | + 10:00 |
| 110 | Andrea Mifsud | Nice Métropole Côte d'Azur | + 10:00 | + 10:00 |
| 111 | Maxime Urruty | Nice Métropole Côte d'Azur | + 10:00 | + 10:00 |
| 112 | Axel Mariault | Cofidis | + 10:00 | + 10:00 |
| 113 | Laurent Pichon | Team Arkéa-Samsic | + 10:00 | + 10:00 |
| 114 | Romain Cardis | Saint Michel-Mavic-Auber 93 | + 14:01 | + 14:01 |
| 115 | Clément Davy | Groupama-FDJ | + 14:01 | + 14:01 |
| 116 | Angel Madrazo | Burgos-BH | + 15:13 | + 15:13 |
| 117 | Magnus Kulset | Uno-X Pro Cycling Team | + 15:13 | + 15:13 |
| 118 | Thomas Champion | Cofidis | + 15:13 | + 15:13 |
| 119 | Paul Hennequin | Nice Métropole Côte d'Azur | + 15:13 | + 15:13 |