| | 1 1 1 | 1 | Jannik Czapla | 25-29 | 54:33 25-29 | |
| | 2 2 2 | 2 | Sam Schoeman | 25-29 | 55:13 25-29 | |
| | 3 3 3 | 3 | Paul Weindl | 25-29 | 55:31 25-29 | |
| | 4 1 4 | 1 | Julien Coquillaud-Salomon | 35-39 | 55:39 35-39 | |
| | 5 4 5 | 4 | Jake Williamson | 25-29 | 56:33 25-29 | |
| | 6 1 6 | 1 | Julian Kreutzer | 30-34 | 57:12 30-34 | |
| | 7 2 7 | 2 | Louis Simoneau | 30-34 | 58:00 30-34 | |
| | 8 1 8 | 1 | Tilen Dorninger | 16-24 | 58:20 | |
| | 9 5 9 | 5 | Dan Nota | 25-29 | 58:29 25-29 | |
| | 10 3 10 | 3 | Marvin Karsch | 30-34 | 58:52 30-34 | |
| | 11 4 11 | 4 | Tobias Kiefer | 30-34 | 59:29 30-34 | |
| | 12 6 12 | 6 | Alessandro Gregorio | 25-29 | 59:32 25-29 | |
| | 13 1 13 | 1 | Andrew Fahey | 40-44 | 59:48 | |
| | 14 5 14 | 5 | Renning Elischer | 30-34 | 1:00:10 30-34 | |
| | 15 2 15 | 2 | Petter Saltvik | 16-24 | 1:00:10 16-24 | |
| | 16 2 16 | 2 | Elte Hupkes | 35-39 | 1:00:47 35-39 | |
| | 17 6 17 | 6 | Nico Küttner | 30-34 | 1:00:50 30-34 | |
| | 18 7 18 | 7 | Tobias Schmitt | 25-29 | 1:01:25 25-29 | |
| | 19 7 19 | 7 | Hichem Herrama | 30-34 | 1:01:31 | |
| | 20 2 20 | 2 | Romain Clot | 40-44 | 1:01:55 40-44 | |
| | 21 8 21 | 8 | Federico Maione | 25-29 | 1:02:17 25-29 | |
| | 22 3 22 | 3 | Andreas Dreitz | 35-39 | 1:02:20 35-39 | |
| | 23 9 23 | 9 | Sylvianno Lortal | 25-29 | 1:02:25 25-29 | |
| | 24 4 24 | 4 | Paul Schramm | 35-39 | 1:02:58 35-39 | |
| | 25 3 25 | 3 | Lukas Haimayer | 16-24 | 1:03:04 16-24 | |
| | 26 10 26 | 10 | Samir Serhani | 25-29 | 1:03:14 25-29 | |
| | 27 11 27 | 11 | Robin Duran | 25-29 | 1:03:16 25-29 | |
| | 28 4 28 | 4 | Abel Andrade | 16-24 | 1:03:16 16-24 | |
| | 29 8 29 | 8 | Youp Schreuder | 30-34 | 1:03:31 30-34 | |
| | 30 5 30 | 5 | Sem Horsten | 16-24 | 1:03:35 16-24 | |
| | 31 5 31 | 5 | Ralf Gärtner | 35-39 | 1:03:38 35-39 | |
| | 32 3 32 | 3 | Dennis Kneepkens | 40-44 | 1:03:42 40-44 | |
| | 33 6 33 | 6 | Toni Galic | 35-39 | 1:03:59 35-39 | |
| | 34 7 34 | 7 | Rune Dallmann | 35-39 | 1:04:10 35-39 | |
| | 35 8 35 | 8 | Bram Van Tongeren | 35-39 | 1:04:11 35-39 | |
| | 36 6 36 | 6 | Fabio Schönfeld | 16-24 | 1:04:16 16-24 | |
| | 37 9 37 | 9 | Bilal Zola | 30-34 | 1:04:24 30-34 | |
| | 38 4 38 | 4 | David Steffes | 40-44 | 1:04:25 40-44 | |
| | 39 5 39 | 5 | Rok Kolarič | 40-44 | 1:04:51 40-44 | |
| | 40 10 40 | 10 | Martin Wenzel | 30-34 | 1:04:52 30-34 | |
| | 41 12 41 | 12 | Frederik Lundelius | 25-29 | 1:05:05 25-29 | |
| | 42 13 42 | 13 | Jonathan Gauer | 25-29 | 1:05:09 25-29 | |
| | 43 14 43 | 14 | Jonas Rahm | 25-29 | 1:05:21 25-29 | |
| | 44 7 44 | 7 | Ben Ellis | 16-24 | 1:05:23 16-24 | |
| | 45 15 45 | 15 | Tim Lorenzen | 25-29 | 1:05:36 25-29 | |
| | 46 9 46 | 9 | Tino Hager | 35-39 | 1:05:39 35-39 | |
| | 47 8 47 | 8 | Mathéo Vincent | 16-24 | 1:05:55 16-24 | |
| | 48 11 48 | 11 | Janick Schulze | 30-34 | 1:05:56 30-34 | |
| | 49 9 49 | 9 | Fabian Bauer | 16-24 | 1:06:13 16-24 | |
| | 50 10 50 | 10 | Samer Nakchi | 35-39 | 1:06:37 35-39 | |
| | 51 12 51 | 12 | Lukáš Drrábek | 30-34 | 1:06:40 30-34 | |
| | 52 16 52 | 16 | Reno Van Heiningen | 25-29 | 1:06:47 25-29 | |
| | 53 17 53 | 17 | David Ebereonwu | 25-29 | 1:06:50 25-29 | |
| | 54 10 54 | 10 | Robin Ullrich | 16-24 | 1:06:52 16-24 | |
| | 55 13 55 | 13 | Francois Scarniet | 30-34 | 1:06:56 30-34 | |
| | 56 18 56 | 18 | Ben Okeke | 25-29 | 1:07:02 25-29 | |
| | 57 6 57 | 6 | Paul Schmiejka | 40-44 | 1:07:14 40-44 | |
| | 58 19 58 | 19 | Lukas Jochheim | 25-29 | 1:07:22 25-29 | |
| | 59 14 59 | 14 | Marc Wagner | 30-34 | 1:07:35 30-34 | |
| | 60 11 60 | 11 | Peter Mautner | 35-39 | 1:07:38 35-39 | |
| | 61 11 61 | 11 | Tim Budemann | 16-24 | 1:07:41 16-24 | |
| | 62 12 62 | 12 | Jori Persico | 35-39 | 1:07:43 35-39 | |
| | 63 20 63 | 20 | Jens Rechmann | 25-29 | 1:07:47 25-29 | |
| | 64 7 64 | 7 | Thorsten Dürr | 40-44 | 1:07:48 40-44 | |
| | 65 15 65 | 15 | Iduino Junior | 30-34 | 1:07:51 30-34 | |
| | 66 1 66 | 1 | Lars Henning Bjerregaard | 50-54 | 1:07:54 50-54 | |
| | 67 16 67 | 16 | Felix Müller | 30-34 | 1:07:54 30-34 | |
| | 68 21 68 | 21 | Kilian Werner | 25-29 | 1:08:15 25-29 | |
| | 69 22 69 | 22 | Jakob Tedsen | 25-29 | 1:08:17 25-29 | |
| | 70 23 70 | 23 | Mats Möller | 25-29 | 1:08:20 25-29 | |
| | 71 24 71 | 24 | Roel Van Ruiten | 25-29 | 1:08:23 25-29 | |
| | 72 2 72 | 2 | Daniel Schloesser | 50-54 | 1:08:24 50-54 | |
| | 73 8 73 | 8 | Jochen Urban | 40-44 | 1:08:32 40-44 | |
| | 74 25 74 | 25 | Martial Engelmann | 25-29 | 1:08:38 25-29 | |
| | 75 17 75 | 17 | Sascha Willer | 30-34 | 1:08:45 30-34 | |
| | 76 12 76 | 12 | George Evers | 16-24 | 1:08:45 16-24 | |
| | 77 1 77 | 1 | Joze Kojc | 55-59 | 1:08:49 55-59 | |
| | 78 18 78 | 18 | Florian Krege | 30-34 | 1:09:07 30-34 | |
| | 79 19 79 | 19 | Lukas Rexer | 30-34 | 1:09:10 30-34 | |
| | 80 20 80 | 20 | Matthis Weis | 30-34 | 1:09:14 30-34 | |
| | 81 9 81 | 9 | Bastian Byczok | 40-44 | 1:09:19 40-44 | |
| | 82 26 82 | 26 | Charly Vejtzik | 25-29 | 1:09:25 25-29 | |
| | 83 21 83 | 21 | Piran Asci | 30-34 | 1:09:27 30-34 | |
| | 84 13 84 | 13 | Nils Düren | 16-24 | 1:09:34 16-24 | |
| | 85 22 85 | 22 | Tom Bosmans | 30-34 | 1:09:35 30-34 | |
| | 86 23 86 | 23 | Raphael Merkt | 30-34 | 1:09:38 30-34 | |
| | 87 24 87 | 24 | David Pfahl | 30-34 | 1:09:47 30-34 | |
| | 88 25 88 | 25 | Philipp Wilbert | 30-34 | 1:09:48 30-34 | |
| | 89 13 89 | 13 | Ioannis Papikas | 35-39 | 1:09:50 35-39 | |
| | 90 26 90 | 26 | Max Lang | 30-34 | 1:10:01 30-34 | |
| | 91 27 91 | 27 | Bernhard Kircher | 25-29 | 1:10:02 25-29 | |
| | 92 28 92 | 28 | Paul Schalnus | 25-29 | 1:10:07 25-29 | |
| | 93 14 93 | 14 | Dominik Happe | 16-24 | 1:10:08 16-24 | |
| | 94 14 94 | 14 | Matthias Diekmann | 35-39 | 1:10:17 35-39 | |
| | 95 29 95 | 29 | Jan-Peer Martins | 25-29 | 1:10:18 25-29 | |
| | 96 16 96 | 16 | Lasse Schwieren | 16-24 | 1:10:19 16-24 | |
| | 97 15 97 | 15 | Samil Hadzic | 16-24 | 1:10:19 16-24 | |
| | 98 30 98 | 30 | Lukas Müller | 25-29 | 1:10:32 25-29 | |
| | 99 27 99 | 27 | Marius Brockfeld | 30-34 | 1:10:42 30-34 | |
| | 100 17 100 | 17 | Jakob Brunbauer | 16-24 | 1:10:44 16-24 | |