| 1 | 26 | Max Peter Bejmer | 92 | [10730] OPOR IFK Göteborg | 32:06 | 1 | 33:00 | 2 | 33:33 | 6 | 1:38:39 | 
| 2 | 7 | Albin Ridefelt | 91 | [10922] OPOR OK Linné | 33:23 | 3 | 32:46 | 1 | 33:43 | 7 | 1:39:52 | 
| 3 | 8 | Miika Kirmula | 94 | [11216] KR | 34:45 | 6 | 33:51 | 3 | 36:00 | 18 | 1:44:36 | 
| 4 | 17 | Hannu Airila | 85 | [11216] KR | 34:07 | 4 | 34:19 | 6 | 36:15 | 23 | 1:44:41 | 
| 5 | 23 | Michal Olejnik | 92 | [10924] OPOR SNO | 36:14 | 14 | 34:45 | 7 | 35:31 | 14 | 1:46:30 | 
| 6 | 1 | Olav Lundanes | 87 | [11239] OPOR Halden SK | 32:22 | 2 | 43:12 | 77 | 31:33 | 2 | 1:47:07 | 
| 7 | 41 | Santeri Silvennoinen | 95 | [11216] KR | 36:23 | 16 | 35:24 | 12 | 35:31 | 14 | 1:47:18 | 
| 8 | 24 | Graham Gristwood | 84 | [11216] KR | 35:13 | 8 | 36:14 | 20 | 36:11 | 22 | 1:47:38 | 
| 9 | 40 | Jesse Laukkarinen | 92 | [11239] OPOR Halden SK | 36:25 | 17 | 35:54 | 15 | 35:20 | 13 | 1:47:39 | 
| 10 | 56 | Johan Ek-Larsson | 95 | [10924] OPOR SNO | 35:58 | 13 | 35:00 | 8 | 38:24 | 44 | 1:49:22 | 
| 11 | 10 | Håkon Jarvis Westergaard | 92 | [9739] Tyrving | 39:51 | 39 | 35:14 | 9 | 35:57 | 17 | 1:51:02 | 
| 12 | 28 | Wojciech Kowalski | 83 | [9739] Tyrving | 38:11 | 25 | 38:56 | 45 | 34:12 | 8 | 1:51:19 | 
| 13 | 32 | Mathieu Perrin | 98 | [11121] OPOR NOSE | 42:55 | 58 | 34:03 | 4 | 34:23 | 9 | 1:51:21 | 
| 14 | 18 | Rassmus Andersson | 90 | [10922] OPOR OK Linné | 37:44 | 23 | 39:04 | 46 | 36:01 | 19 | 1:52:49 | 
| 15 | 57 | Théo Radondy | 97 | [11120] OPOR Tous Azimuts Do | 40:17 | 42 | 35:26 | 13 | 37:23 | 33 | 1:53:06 | 
| 16 | 109 | Jakob Enmark | 91 | [10924] OPOR SNO | 35:56 | 12 | 37:24 | 30 | 39:52 | 50 | 1:53:12 | 
| 17 | 90 | Fredrik Eliasson | 82 | [11239] OPOR Halden SK | 36:38 | 18 | 37:05 | 25 | 40:00 | 53 | 1:53:43 | 
| 18 | 37 | Jere Pajunen | 86 | [11216] KR | 38:46 | 29 | 35:18 | 11 | 39:51 | 49 | 1:53:55 | 
| 19 | 51 | Jakob Andersson | 91 | [10922] OPOR OK Linné | 41:52 | 53 | 35:16 | 10 | 37:02 | 30 | 1:54:10 | 
| 20 | 110 | Göran Winblad | 91 | [10919] OPOR Fredrikstad SK | 38:52 | 31 | 36:34 | 22 | 38:47 | 45 | 1:54:13 | 
| 21 | 47 | Adrien Delenne | 96 | [11118] OPOR ACA Aix-en-Prov | 35:42 | 11 | 40:31 | 59 | 38:01 | 40 | 1:54:14 | 
| 22 | 16 | Andris Jubelis | 89 | [11076] OPOR Vehkalahden Vei | 36:17 | 15 | 37:10 | 26 | 40:48 | 59 | 1:54:15 | 
| 23 | 80 | Ricardo Esteves | 98 | [090] ADFA | 41:39 | 52 | 35:56 | 17 | 36:46 | 27 | 1:54:21 | 
| 24 | 36 | Pau Llorens | 94 | [10358] CAT-O | 39:48 | 37 | 37:16 | 27 | 37:47 | 38 | 1:54:51 | 
| 25 | 31 | Nitsan Yasur | 95 | [10922] OPOR OK Linné | 37:18 | 20 | 36:15 | 21 | 41:39 | 65 | 1:55:12 | 
| 26 | 34 | Torgeir Nørbech | 89 | [9739] Tyrving | 35:38 | 10 | 42:02 | 71 | 37:36 | 35 | 1:55:16 | 
| 27 | 42 | Vegard Danielsen | 90 | [10995] KOK | 40:35 | 45 | 37:34 | 31 | 37:22 | 32 | 1:55:31 | 
| 28 | 49 | Juha Sorvisto | 84 | [10879] OPOR LahdenS 37 | 40:15 | 41 | 38:26 | 39 | 37:44 | 36 | 1:56:25 | 
| 29 | 48 | Markus Räsänen | 94 | [11216] KR | 38:02 | 24 | 35:55 | 16 | 42:48 | 71 | 1:56:45 | 
| 30 | 60 | Henriksson Tobias | 92 | [10963] OPOR Pargas IF | 38:32 | 28 | 37:16 | 27 | 40:58 | 60 | 1:56:46 | 
| 31 | 70 | Kirill Komarov | 97 | [11223] Essu | 39:13 | 32 | 37:59 | 34 | 40:03 | 54 | 1:57:15 | 
| 32 | 38 | William Gardner | 93 | [11110] Octavian Droobers | 40:33 | 44 | 36:39 | 23 | 40:31 | 56 | 1:57:43 | 
| 33 | 54 | Timon Schweizer | 96 | [1914] Individual SUI | 41:22 | 50 | 38:52 | 42 | 39:58 | 52 | 2:00:12 | 
| 34 | 83 | Nicolas Kastner | 98 | [8738] Naturfreunde Wien | 39:16 | 34 | 40:02 | 57 | 40:58 | 60 | 2:00:16 | 
| 35 | 61 | Ben Mitchell | 93 | [11137] RR | 44:34 | 59 | 37:34 | 31 | 38:52 | 46 | 2:01:00 | 
| 36 | 100 | Vladyslav Laskarzhevsky | 82 | [1453] Individual UKR | 40:46 | 46 | 39:49 | 56 | 40:47 | 58 | 2:01:22 | 
| 37 | 58 | Eemeli Suominen | 96 | [11190] HiKi | 41:25 | 51 | 41:06 | 61 | 39:03 | 47 | 2:01:34 | 
| 38 | 53 | Artjoms Rekunenko | 89 | [11204] LAT | 42:21 | 57 | 38:09 | 38 | 41:33 | 64 | 2:02:03 | 
| 39 | 50 | Kent Ohlsson | 89 | [10924] OPOR SNO | 36:51 | 19 | 36:39 | 23 | 48:37 | 96 | 2:02:07 | 
| 40 | 22 | Arturs Paulins | 89 | [11216] KR | 38:46 | 29 | 42:50 | 76 | 41:08 | 63 | 2:02:44 | 
| 41 | 75 | Anssi Vesanto | 93 | [11223] Essu | 41:20 | 49 | 41:15 | 62 | 40:30 | 55 | 2:03:05 | 
| 42 | 93 | Petteri Huikko | 90 | [10879] OPOR LahdenS 37 | 39:57 | 40 | 38:50 | 41 | 45:09 | 84 | 2:03:56 | 
| 43 | 30 | Eetu Savolainen | 94 | [11136] IkNV | 38:20 | 27 | 48:14 | 94 | 37:46 | 37 | 2:04:20 | 
| 44 | 35 | Ivar Lundanes | 91 | [9739] Tyrving | 40:19 | 43 | 44:17 | 81 | 39:52 | 50 | 2:04:28 | 
| 45 | 119 | Haajanen Erik | 92 | [10963] OPOR Pargas IF | 39:29 | 35 | 40:21 | 58 | 44:45 | 78 | 2:04:35 | 
| 46 | 66 | Pauli Leinonen | 95 | [10879] OPOR LahdenS 37 | 39:13 | 32 | 41:58 | 69 | 43:54 | 76 | 2:05:05 | 
| 47 | 87 | Juho Ylinen | 97 | [11237] IkNV | 38:12 | 26 | 39:37 | 54 | 47:37 | 91 | 2:05:26 | 
| 48 | 46 | Vladislav Malyshev | 96 | [11223] Essu | 55:38 | 87 | 34:12 | 5 | 36:02 | 20 | 2:05:52 | 
| 49 | 63 | Ollipekka Heikkilä | 97 | [6550] HS | 48:01 | 76 | 41:54 | 68 | 37:31 | 34 | 2:07:26 | 
| 50 | 71 | Matthew Elkington | 95 | [11110] Octavian Droobers | 45:25 | 64 | 39:12 | 49 | 42:50 | 72 | 2:07:27 | 
| 51 | 76 | Tuomo Lahtinen | 90 | [10879] OPOR LahdenS 37 | 46:44 | 72 | 38:27 | 40 | 42:26 | 69 | 2:07:37 | 
| 52 | 120 | Scott Fraser | 86 | [10951] TuMe | 45:01 | 60 | 36:10 | 19 | 47:16 | 90 | 2:08:27 | 
| 53 | 92 | Thibaut Derenne | 94 | [11009] HERMA | 45:13 | 63 | 39:29 | 52 | 44:05 | 77 | 2:08:47 | 
| 54 | 77 | Pavel Krasko | 80 | [10083] Belarus | 42:08 | 56 | 44:08 | 79 | 42:46 | 70 | 2:09:02 | 
| 55 | 113 | Duncan Coombs | 87 | [10850] AROS | 45:35 | 66 | 38:53 | 43 | 44:47 | 79 | 2:09:15 | 
| 56 | 102 | Aleksi Sopo | 96 | [11094] KuoSu | 41:59 | 54 | 41:58 | 69 | 46:18 | 88 | 2:10:15 | 
| 57 | 55 | Matija Razum | 93 | [11273] SU Izohipsa | 46:00 | 67 | 42:37 | 75 | 42:07 | 67 | 2:10:44 | 
| 58 | 68 | Ken Peeters | 85 | [10922] OPOR OK Linné | 47:42 | 75 | 39:22 | 51 | 43:42 | 75 | 2:10:46 | 
| 59 | 91 | Perttu Sorsa | 83 | [11190] HiKi | 47:16 | 73 | 40:35 | 60 | 44:50 | 80 | 2:12:41 | 
| 60 | 67 | Vasili Straltsou | 90 | [11068] Kamvol | 52:42 | 83 | 39:40 | 55 | 40:35 | 57 | 2:12:57 | 
| 61 | 62 | Einar Melsom | 99 | [11013] Fossum IF | 39:45 | 36 | 47:08 | 91 | 47:52 | 94 | 2:14:45 | 
| 62 | 78 | Karol Galicz | 86 | [11122] BKS Wataha | 45:07 | 62 | 44:23 | 83 | 45:25 | 85 | 2:14:55 | 
| 63 | 64 | Oskar Størmer | 96 | [11013] Fossum IF | 59:31 | 91 | 39:06 | 48 | 38:18 | 43 | 2:16:55 | 
| 64 | 108 | Michaël Van Baelen | 92 | [10895] OPOR TROL | 46:36 | 70 | 44:21 | 82 | 49:14 | 98 | 2:20:11 | 
| 65 | 88 | Marvin Goericke | 91 | [10968] OPOR Berliner TSC | 37:41 | 22 | 36:09 | 18 | 1:06:37 | 112 | 2:20:27 | 
| 66 | 116 | João Novo | 97 | [102] .COM | 47:21 | 74 | 46:09 | 88 | 47:37 | 91 | 2:21:07 | 
| 67 | 84 | Matias Sankari | 91 | [10879] OPOR LahdenS 37 | 51:06 | 79 | 42:19 | 73 | 48:33 | 95 | 2:21:58 | 
| 68 | 94 | Janne Ovaska | 97 | [11076] OPOR Vehkalahden Vei | 45:29 | 65 | 51:17 | 99 | 46:28 | 89 | 2:23:14 | 
| 69 | 82 | ONDREJ PIJAK | 82 | [090] ADFA | 49:29 | 78 | 43:54 | 78 | 51:13 | 102 | 2:24:36 | 
| 70 | 99 | Antto-Iiro Suhonen | 91 | [11094] KuoSu | 49:09 | 77 | 46:59 | 90 | 50:38 | 101 | 2:26:46 | 
| 71 | 97 | Matiss Sliksjanis | 98 | [11204] LAT | 54:23 | 85 | 42:02 | 71 | 51:45 | 103 | 2:28:10 | 
| 72 | 96 | Veli-Pekka Kuutti | 80 | [11186] SuMa-Suunnistusmatkat | 57:16 | 89 | 44:38 | 84 | 50:36 | 100 | 2:32:30 | 
| 73 | 95 | Arto Niiranen | 95 | [11094] KuoSu | 46:38 | 71 | 56:51 | 101 | 49:08 | 97 | 2:32:37 | 
| 74 | 73 | Aapo Aaltio | 93 | [11094] KuoSu | 40:53 | 47 | 50:11 | 97 | 1:03:13 | 111 | 2:34:17 | 
| 75 | 98 | Maxim | 84 | [1511] Individual RUS | 53:13 | 84 | 45:47 | 86 | 59:17 | 109 | 2:38:17 | 
| 76 | 115 | Janne Kukkonen | 93 | [11094] KuoSu | 54:29 | 86 | 54:05 | 100 | 53:13 | 106 | 2:41:47 | 
| 77 | 107 | Gildo Silva | 85 | [070] COC | 57:01 | 88 | 47:43 | 92 | 58:24 | 108 | 2:43:08 | 
| 78 | 111 | João Ferreira | 89 | [168] CAB | 1:14:27 | 93 | 46:33 | 89 | 53:00 | 105 | 2:54:00 | 
| 79 | 118 | Nuno Evangelista | 80 | [114] COA | 52:14 | 82 | 50:35 | 98 | 1:11:24 | 113 | 2:54:13 | 
| 80 | 104 | Richard Purkis | 93 | [11159] ESOC | 1:09:31 | 92 | 42:21 | 74 | 1:02:30 | 110 | 2:54:22 | 
| 81 | 112 | Tiago Gingão Leal | 90 | [052] GD4C | 52:09 | 81 | 1:27:52 | 102 | 44:51 | 81 | 3:04:52 | 
| 82 | 101 | Nelson Baroca | 80 | [062] CA Madeira | 1:23:00 | 94 | 48:25 | 95 | 53:50 | 107 | 3:05:15 | 
|   | 
|  | 4 | Magne Daehli | 87 | [11239] OPOR Halden SK | 34:31 | 5 | dns |  | 37:06 | 31 |  | 
|  | 69 | Pedro Nogueira | 82 | [090] ADFA | 41:14 | 48 | dnf |  | 49:55 | 99 |  | 
|  | 117 | Joni Solonen | 95 | [10879] OPOR LahdenS 37 | 58:24 | 90 | 47:44 | 93 | dnf |  |  | 
|  | 25 | Aleksi Anttolainen | 93 | [10879] OPOR LahdenS 37 | 35:01 | 7 | 45:21 | 85 | dns |  |  | 
|  | 21 | Oskar Sjöberg | 90 | [10922] OPOR OK Linné | 35:24 | 9 | dns |  | 46:08 | 87 |  | 
|  | 79 | Lauri Pohjola | 81 | [11198] S-JKL | 46:18 | 69 | mp |  | 47:41 | 93 |  | 
|  | 103 | Alvar Palmen | 98 | [11223] Essu | 51:34 | 80 | dns |  | 45:33 | 86 |  | 
|  | 72 | Roope Koskinen | 92 | [11216] KR | 39:50 | 38 | mp |  | 44:52 | 82 |  | 
|  | 105 | Simon Dubach | 96 | [11225] OPOR Swiss O Team |  |  | 41:46 | 65 | 41:51 | 66 |  | 
|  | 106 | Jonas Geissbühler | 87 | [11225] OPOR Swiss O Team |  |  | mp |  | 39:45 | 48 |  | 
|  | 3 | Daniel Hubmann | 83 | [11225] OPOR Swiss O Team |  |  | 39:18 | 50 | 31:44 | 3 |  | 
|  | 114 | Chamuel Zbinden | 99 | [11225] OPOR Swiss O Team |  |  | 39:05 | 47 | 38:11 | 42 |  | 
|  | 2 | Matthias Kyburz | 90 | [11225] OPOR Swiss O Team |  |  | 37:48 | 33 | 31:10 | 1 |  | 
|  | 39 | Noah Zbinden | 96 | [11225] OPOR Swiss O Team |  |  | 41:26 | 63 | 35:14 | 12 |  | 
|  | 52 | Tobia Pezzati | 96 | [11225] OPOR Swiss O Team |  |  | 41:50 | 67 | 43:18 | 73 |  | 
|  | 11 | Jonas Egger | 94 | [11225] OPOR Swiss O Team |  |  | 38:00 | 36 | 36:06 | 21 |  | 
|  | 59 | Tiago Romão | 89 | [073] CMo Funchal | 42:01 | 55 |  |  | 41:00 | 62 |  | 
|  | 9 | Olli Ojanaho | 97 | [6550] HS | 37:24 | 21 |  |  | 36:47 | 28 |  | 
|  | 12 | Joey Hadorn | 97 | [11225] OPOR Swiss O Team |  |  | 39:34 | 53 | 35:10 | 11 |  | 
|  | 43 | Thomas Curiger | 96 | [11225] OPOR Swiss O Team |  |  | 49:00 | 96 | 35:53 | 16 |  | 
|  | 19 | Christoph Meier | 93 | [11225] OPOR Swiss O Team |  |  | 35:41 | 14 | 37:54 | 39 |  | 
|  | 45 | Pascal Buchs | 97 | [11225] OPOR Swiss O Team |  |  | 37:59 | 34 | 38:07 | 41 |  | 
|  | 20 | Martin Hubmann | 89 | [11225] OPOR Swiss O Team |  |  | 37:18 | 29 | 33:15 | 4 |  | 
|  | 13 | Andreas Kyburz | 88 | [11225] OPOR Swiss O Team |  |  | 38:54 | 44 | 33:25 | 5 |  | 
|  | 81 | Tino Polsini | 99 | [11225] OPOR Swiss O Team |  |  | 45:51 | 87 | 36:59 | 29 |  | 
|  | 5 | Florian Howald | 91 | [11225] OPOR Swiss O Team |  |  | 44:14 | 80 | 34:26 | 10 |  | 
|  | 29 | Baptiste Rollier | 82 | [11225] OPOR Swiss O Team |  |  | mp |  | dns |  |  | 
|  | 89 | Edgaras Voveris | 67 | [9952] Devyni | 45:01 | 60 |  |  | 52:14 | 104 |  | 
|  | 85 | Otto Loukkalahti | 94 | [11190] HiKi | 46:04 | 68 |  |  | 43:29 | 74 |  | 
|  | 6 | Fabian Hertner | 85 | [11225] OPOR Swiss O Team |  |  | 41:48 | 66 | 36:40 | 26 |  | 
|  | 74 | Timo Suter | 98 | [11225] OPOR Swiss O Team |  |  | 38:08 | 37 | 42:07 | 67 |  | 
|  | 33 | Riccardo Rancan | 96 | [11225] OPOR Swiss O Team |  |  | 41:44 | 64 | 45:02 | 83 |  | 
|  | 44 | Olli-Pekka Koistinen | 85 | [11190] HiKi |  |  |  |  | 36:39 | 25 |  | 
|  | 65 | Jannis Bonek | 99 | [10922] OPOR OK Linné |  |  |  |  | 36:31 | 24 |  | 
|  | 86 | Rinat Gabitov | 89 | [11223] Essu | dns |  | dns |  | dns |  |  | 
|  | 27 | Thomas Natvig Arstad | 89 | [11239] OPOR Halden SK | dns |  | dns |  | dns |  |  | 
|  | 14 | Jan Petrzela | 92 | [11216] KR | dns |  | dns |  | dns |  |  | 
|  | 15 | Florian Schneider | 93 | [11225] OPOR Swiss O Team |  |  | dns |  | dns |  |  | 
|   | 
|   | 
|   |