| 1 | ANDRE Alix | Sunn Factory Racing | 01:20:58.000 | - | 0 |
| 2 | CORNILLON Nathan | Massi | 01:21:29.000 | 31.000 | 0 |
| 3 | ROUFFIAC Naël | Scott Creuse Oxygene Gueret | 01:22:04.000 | 1:06.000 | 0 |
| 4 | VAN DIJK Chris | | 01:22:56.000 | 1:58.000 | 0 |
| 5 | PERRIN Tom | Sunn Factory Racing | 01:23:03.000 | 2:05.000 | 0 |
| 6 | CHAPTAL Yann | Scott Creuse Oxygene Gueret | 01:23:23.000 | 2:25.000 | 0 |
| 7 | JAMIN Antoine | Ser'velo - KOM Addict Team | 01:23:42.000 | 2:44.000 | 0 |
| 7 | JAMIN Antoine | BH - Wallonie MTB Team | 01:23:42.000 | 2:44.000 | 0 |
| 8 | MARTINS Alexandre | Team Bagnol Jo.We Omega | 01:24:10.000 | 3:12.000 | 0 |
| 9 | HEMON Julien | | 01:25:11.000 | 4:13.000 | 0 |
| 10 | VAN GEEST Kas | Stappenbelt Specialized Racing | 01:25:20.000 | 4:22.000 | 0 |
| 11 | KALANQUIN Nicolas | Sunn Factory Racing | 01:25:21.000 | 4:23.000 | 0 |
| 12 | SOUSA Rafael | | 01:25:24.000 | 4:26.000 | 0 |
| 13 | JUTEL Paul François | | 01:25:43.000 | 4:45.000 | 0 |
| 14 | AYRAL Maxime | Team Bagnol Jo.We Omega | 01:25:57.000 | 4:59.000 | 0 |
| 15 | CRUZ João | | 01:26:14.000 | 5:16.000 | 0 |
| 16 | BEDINI Athys | | 01:26:16.000 | 5:18.000 | 0 |
| 17 | TRAN VAN Antoine | | 01:26:44.000 | 5:46.000 | 0 |
| 18 | BRUNET Emilien | | 01:27:13.000 | 6:15.000 | 0 |
| 19 | FERNANDES Jules | | 01:27:23.000 | 6:25.000 | 0 |
| 20 | FRANZ Niklas Michael | | 01:27:31.000 | 6:33.000 | 0 |
| 21 | BOUTEN Freek | | 01:27:49.000 | 6:51.000 | 0 |
| 22 | VERDIER Louis | | 01:27:50.000 | 6:52.000 | 0 |
| 23 | SANCIAUT Zian | | 01:27:51.000 | 6:53.000 | 0 |
| 24 | BURNET Pierrick | VCA Anjos KTM | 01:28:09.000 | 7:11.000 | 0 |
| 25 | LUZI Maxime | | 01:28:18.000 | 7:20.000 | 0 |
| 26 | ROSSEL Jules | Béziers Méditerranée Cyclisme | 01:28:36.000 | 7:38.000 | 0 |
| 26 | ROSSEL Jules | Team Bagnol Jo.We Omega | 01:28:36.000 | 7:38.000 | 0 |
| 27 | PICHON Hugo | | 01:28:42.000 | 7:44.000 | 0 |
| 28 | BELTRITTI Louis | | 01:28:45.000 | 7:47.000 | 0 |
| 29 | OLIVE Timéo | Team Bagnol Jo.We Omega | 01:28:50.000 | 7:52.000 | 0 |
| 30 | TOTH Noel | Lexware Mountainbike Team | 01:29:05.000 | 8:07.000 | 0 |
| 31 | HARDY Axel | EC Quevilly | 01:29:20.000 | 8:22.000 | 0 |
| 32 | CORNIGLION Sofian | Team Bagnol Jo.We Omega | 01:29:30.000 | 8:32.000 | 0 |
| 33 | LEMARDELÉ Maxence | | 01:29:31.000 | 8:33.000 | 0 |
| 34 | DEMARCIN Théo | Entente cycliste de Wallonie | 01:30:17.000 | 9:19.000 | 0 |
| 34 | DEMARCIN Théo | BH - Wallonie MTB Team | 01:30:17.000 | 9:19.000 | 0 |
| 35 | VALLEE Matéo | | 01:30:20.000 | 9:22.000 | 0 |
| 36 | SUMMO Theo | | 01:30:21.000 | 9:23.000 | 0 |
| 37 | CHEREL Jules | | 01:30:44.000 | 9:46.000 | 0 |
| 38 | PAGET Matteo | | 01:30:53.000 | 9:55.000 | 0 |
| 39 | JOUHAULT Nathan | | 01:31:00.000 | 00:10:02.000 | 0 |
| 40 | HAMPIAUX Killian | | 01:31:04.000 | 00:10:06.000 | 0 |
| 41 | TOULLIER Pierre | | 01:31:20.000 | 00:10:22.000 | 0 |
| 42 | LOSFELD Louis | Trust-Up - CC Chevigny | 01:31:30.000 | 00:10:32.000 | 0 |
| 42 | LOSFELD Louis | Massi Development Team | 01:31:30.000 | 00:10:32.000 | 0 |
| 43 | GARAUD Lukas | | 01:31:44.000 | 00:10:46.000 | 0 |
| 44 | GAILLARD Baptiste | Excelsior | 01:31:48.000 | 00:10:50.000 | 0 |
| 45 | CROKET Maxime | Deschacht - Hens - FSP | 01:31:49.000 | 00:10:51.000 | 0 |
| 45 | CROKET Maxime | Deschacht - Hens - FSP | 01:31:49.000 | 00:10:51.000 | 0 |
| 46 | ANDRÉ Alexi | | 01:31:53.000 | 00:10:55.000 | 0 |
| 47 | CHAZALY Raphaël | Trek Future Racing | 01:32:01.000 | 00:11:03.000 | 0 |
| 48 | LOPEZ Alexis | | 01:32:02.000 | 00:11:04.000 | 0 |
| 49 | LE METAYER Léo | | 01:32:03.000 | 00:11:05.000 | 0 |
| 50 | MATHE Marvin | | 01:32:03.000 | 00:11:05.000 | 0 |
| 51 | PUECH Emilien | | 01:32:18.000 | 00:11:20.000 | 0 |
| 52 | GASNIER Tom | | 01:32:23.000 | 00:11:25.000 | 0 |
| 53 | LENCLUME Jérémy | | 01:32:26.000 | 00:11:28.000 | 0 |
| 54 | TROUILLARD Armand | | 01:32:32.000 | 00:11:34.000 | 0 |
| 55 | BERTHELOT Maxime | | 01:32:32.000 | 00:11:34.000 | 0 |
| 56 | COURBIERE Tom | | 01:32:32.000 | 00:11:34.000 | 0 |
| 57 | ZOVI Victor | | 01:33:15.000 | 00:12:17.000 | 0 |
| 58 | DUPARCHY Jean Baptiste | | 01:33:34.000 | 00:12:36.000 | 0 |
| 59 | KERMORGANT Malo | | 01:33:38.000 | 00:12:40.000 | 0 |
| 60 | VILLAR THIERY Aubin | | 01:33:50.000 | 00:12:52.000 | 0 |
| 61 | LABAT Matys | | 01:34:01.000 | 00:13:03.000 | 0 |
| 62 | AUVRAY Léo | | 01:34:04.000 | 00:13:06.000 | 0 |
| 63 | RONGY Thibaut | | 01:34:35.000 | 00:13:37.000 | 0 |
| 64 | THIBAULT Quentin | | 01:34:50.000 | 00:13:52.000 | 0 |
| 65 | CHAPON Justin | | 01:35:14.000 | 00:14:16.000 | 0 |
| 66 | BRAGHINI Axel | | 01:35:20.000 | 00:14:22.000 | 0 |
| 67 | SABOURIN Killian | | 01:35:29.000 | 00:14:31.000 | 0 |
| 68 | ROMAIN Emilien | Team JMCX | 01:35:34.000 | 00:14:36.000 | 0 |
| 69 | LUCHINI Quentin | VCA Anjos KTM | 01:35:56.000 | 00:14:58.000 | 0 |
| 70 | AUDUC Thomas | | 01:36:01.000 | 00:15:03.000 | 0 |
| 71 | LAGNEAU Julian | | 01:36:08.000 | 00:15:10.000 | 0 |
| 72 | RALLIER Tom | | 01:36:34.000 | 00:15:36.000 | 0 |
| 73 | BATUT Elouan | | 01:36:47.000 | 00:15:49.000 | 0 |
| 74 | BERTHAUD Armel | | 01:37:01.000 | 00:16:03.000 | 0 |
| 75 | WAL Justin | | 01:37:14.000 | 00:16:16.000 | 0 |
| 76 | VERMERSCH Anathole | | 01:37:46.000 | 00:16:48.000 | 0 |
| 77 | HUARD Maxence | | 01:37:53.000 | 00:16:55.000 | 0 |
| 78 | DURAND Louka | | 01:38:28.000 | 00:17:30.000 | 0 |
| 79 | BERTHE Ilian | | 01:38:40.000 | 00:17:42.000 | 0 |
| 80 | CORTET Clément | | 01:39:25.000 | 00:18:27.000 | 0 |
| 81 | CLEMENT Maël | | 00:00.000 | -01:20:58.000 | |
| 82 | VESIN Andréa | | 00:00.000 | -01:20:58.000 | |
| 83 | ROUSSELIN Alexy | | 00:00.000 | -01:20:58.000 | |
| 84 | GOURLAND Romain | | 00:00.000 | -01:20:58.000 | |
| 85 | THATCHER Edouard | | 00:00.000 | -01:20:58.000 | |
| 86 | BEDROSSIAN Justin | | 00:00.000 | -01:20:58.000 | |
| 87 | SANDOVAL Elian | | 00:00.000 | -01:20:58.000 | |
| 88 | FLORES Eliot | | 00:00.000 | -01:20:58.000 | |
| 89 | ROUSSELLE Nathan | | 00:00.000 | -01:20:58.000 | |
| 90 | BAYLE Alexis | | 00:00.000 | -01:20:58.000 | |
| 91 | PAULY Baptiste | | 00:00.000 | -01:20:58.000 | |
| 92 | LARGEAU Marius | | 00:00.000 | -01:20:58.000 | |
| 93 | DAIRE Alexandre | | 00:00.000 | -01:20:58.000 | |
| 94 | KLIJN Nick | | 00:00.000 | -01:20:58.000 | |
| 95 | LAMOTHE Louis | | 00:00.000 | -01:20:58.000 | |
| 1005 | SAUVAGET Mael | | 00:00.000 | -01:20:58.000 | |
| 1005 | WIT Lars | | 00:00.000 | -01:20:58.000 | |
| 1005 | VAN GEEST Brent | | 00:00.000 | -01:20:58.000 | |
| 1005 | MAUGUEN Nils | | 00:00.000 | -01:20:58.000 | |
| 1006 | GRUITERS Morris | | 00:00.000 | -01:20:58.000 | |
| 1006 | THOMAS Prade | | 00:00.000 | -01:20:58.000 | |
| 1006 | PICHON Thibaut | | 00:00.000 | -01:20:58.000 | |
| 1006 | JAMAIS Adrien | | 00:00.000 | -01:20:58.000 | |
| 1006 | BINZ Yanick | Bixs Performance Race Team | 00:00.000 | -01:20:58.000 | |