| 1 | Marwin Talsma (Senior) | NED | 3:47.38 | | - |
| 2 | Ole Bjørnsmoen Næss (M30) | NOR | 3:50.04 | NRM | +2.660 |
| 3 | Kasper Tveter (Neo) | NOR | 3:50.29 | | +2.910 |
| 4 | Vetle Stangeland (Senior) | NOR | 3:50.78 | SB | +3.400 |
| 5 | Vegard Rye (Neo) | NOR | 3:51.33 | PB | +3.950 |
| 6 | Zeno de Ponti (Neo) | NED | 3:52.19 | SB | +4.810 |
| 7 | Mathieu Belloir (Neo) | FRA | 3:53.22 | PB | +5.840 |
| 8 | Germain Deschamps (A2) | FRA | 3:54.69 | | +7.310 |
| 9 | Oddbjørn Mellemstrand (Neo) | NOR | 3:55.14 | SB | +7.760 |
| 10 | Erlend Belsvik (Neo) | NOR | 3:56.41 | PB | +9.030 |
| 11 | Sondre Buer Åsebø (A2) | NOR | 3:56.55 | PB | +9.170 |
| 12 | Sander Tveter (Neo) | NOR | 3:57.36 | | +9.980 |
| 13 | Adrian Octavian Fierar (A1) | ROU | 3:58.05 | SB | +10.670 |
| 14 | Håkon Sundøen Brørby (Senior) | NOR | 3:59.88 | SB | +12.500 |
| 15 | Stan Springer (Neo) | NED | 4:00.08 | SB | +12.700 |
| 16 | Dyon Talsma (Neo) | NED | 4:04.67 | SB | +17.290 |
| 17 | Cosmin Nedelea (Neo) | ROU | 4:05.93 | PB | +18.550 |
| 18 | Jakub Koci (A1) | CZE | 4:10.88 | | +23.500 |
| 19 | Nicolae Razvan Militaru (Neo) | ROU | 4:14.83 | PB | +27.450 |
| 20 | Linus August Risnes (B2) | NOR | 4:16.34 | SB | +28.960 |
| 21 | Tadeáš Procházka (Neo) | CZE | 4:23.22 | SB | +35.840 |
| DQ | John Granli (Neo) | NOR | DQ | | - |