| 1 | Abdelhak Kaddour | 47.89 | 53.37 | 52.62 47.89 54.23 58.71 53.26 |
| 2 | Noé Bourdon | 59.33 | 1:05.09 | 59.33 1:03.95 1:06.11 1:05.21 1:08.83 |
| 3 | Baptiste Bery | 1:01.07 | 1:05.49 | 1:02.55 1:03.84 1:12.84 1:01.07 1:10.08 |
| 4 | Dorian Prieto | 1:02.94 | 1:06.91 | 1:06.35 1:05.39 1:02.94 1:18.63 1:08.98 |
| 5 | Jingqi Zhang | 1:00.34 | 1:07.58 | 1:05.18 1:11.15 1:10.37 1:00.34 1:07.19 |
| 6 | Samuel Dechaume-Moncharmont | 1:04.48 | 1:09.77 | 1:09.50 1:04.48 1:09.70 1:10.11 1:13.09 |
| 7 | Ilona Ansel | 1:02.43 | 1:09.85 | 1:10.76 1:20.28 1:07.79 1:02.43 1:11.01 |
| 8 | Jonathan Dammann | 1:12.20 | 1:21.47 | 1:20.14 1:12.20 1:30.16 1:24.70 1:19.57 |
| 9 | Quentin Sanchez | 1:23.29 | 1:25.42 | 1:23.29 1:25.32 1:26.61 1:24.32 1:28.69 |
| 10 | Hippolyte Moreau | 1:27.20 | 1:31.42 | 1:29.41 3:41.16 1:37.24 1:27.20 1:27.61 |
| 11 | Romain Velcin | 1:27.87 | 1:38.91 | 1:27.87 DNF 1:35.74 1:32.55 1:48.44 |
| 12 | Valentin Muesser | 1:36.73 | 1:39.20 | 1:39.00 1:40.94 1:37.67 1:36.73 1:45.85 |
| 13 | Arsène Laffarre | 1:33.32 | 1:39.27 | 1:33.32 1:57.06 1:46.12 1:35.80 1:35.88 |
| 14 | Younes Bellil | 1:35.97 | 1:44.26 | 1:44.99 1:44.04 1:35.97 1:46.43 1:43.74 |
| 15 | Romain Stefan | 1:39.59 | 1:50.54 | 1:54.44 2:03.76 1:47.24 1:49.94 1:39.59 |
| 16 | Elouann Marfil | 1:48.59 | 1:54.43 | 1:51.42 2:30.72 1:51.72 1:48.59 2:00.14 |
| 17 | Tom Olivier | 2:07.99 | — | 2:35.64 2:07.99 — — — |
| 18 | Dimitri Wyss | 2:10.92 | — | 2:10.92 2:21.23 — — — |
| 19 | Basile Chandon | 2:18.02 | — | 2:22.18 2:18.02 — — — |
| 20 | Gabin Thiery | 2:23.93 | — | 2:23.93 DNF — — — |
| 21 | Nathan Bégel | 2:29.20 | — | 2:42.06 2:29.20 — — — |
| 22 | Tiago Ferrari | 2:36.76 | — | 2:36.76 3:02.50 — — — |
| 23 | Léo Combet | 2:37.13 | — | 2:37.13 2:39.03 — — — |
| 24 | Baptiste Beneteau | 2:51.95 | — | 2:51.95 3:06.62 — — — |
| 25 | Kavi Antoni | 2:58.12 | — | 2:58.12 3:10.14 — — — |
| 26 | Loan Lavorel | 3:31.49 | — | DNF 3:31.49 — — — |
| 27 | Nathan Priser | DNF | — | DNF DNF — — — |