
Male Race Results
| Rank | Name | Nation | Swim | Bike | Run | Time | Diff to exp. | Prize Money | PTO Points |
| 1 | Panagiotis Bitados | GRE | 00:21:21 (2) | 01:57:53 (11) | 01:07:59 (2) | 03:31:01 | 00:48 | US$ 7,500 | 89.25 |
| 2 | Cameron Main | GBR | 00:21:46 (9) | 01:57:38 (8) | 01:08:25 (3) | 03:31:07 | -04:33 | US$ 5,000 | 87.37 |
| 3 | Emil Holm | DEN | 00:21:47 (10) | 01:57:32 (6) | 01:09:59 (5) | 03:32:47 | -03:44 | US$ 3,750 | 84.25 |
| 4 | Samuel Dickinson | GBR | 00:21:39 (5) | 01:57:51 (10) | 01:10:06 (6) | 03:33:03 | -03:33 | US$ 3,000 | 82.39 |
| 5 | Jonas Schomburg | GER | 00:21:21 (2) | 01:58:03 (13) | 01:10:24 (7) | 03:33:27 | 01:58 | US$ 2,000 | 80.51 |
| 6 | Pierre Le Corre | FRA | 00:21:47 (10) | 02:01:24 (23) | 01:06:37 (1) | 03:33:48 | -03:06 | US$ 1,500 | 78.75 |
| 7 | Rico Bogen | GER | 00:21:45 (7) | 01:53:34 (1) | 01:15:49 (29) | 03:34:52 | 02:38 | US$ 1,250 | 76.45 |
| 8 | Simon Westermann | SUI | 00:21:26 (4) | 01:57:56 (12) | 01:12:37 (13) | 03:35:31 | 02:39 | US$ 1,000 | 74.58 |
| 9 | Leonard Arnold | GER | 00:23:09 (29) | 01:59:24 (15) | 01:09:05 (4) | 03:35:46 | -01:14 | 73.11 | |
| 10 | Valdemar Solok | DEN | 00:21:48 (13) | 01:57:40 (9) | 01:13:29 (19) | 03:36:28 | n/a | 71.32 | |
| 11 | Nathan Guerbeur | FRA | 00:23:11 (31) | 01:56:42 (3) | 01:13:19 (16) | 03:37:26 | -05:43 | 69.37 | |
| 12 | Jan Stratmann | GER | 00:21:51 (15) | 01:57:27 (5) | 01:15:03 (27) | 03:38:01 | 00:57 | 67.80 | |
| 13 | Jannik Schaufler | GER | 00:21:20 (1) | 01:58:06 (14) | 01:15:06 (28) | 03:38:07 | -01:58 | 66.68 | |
| 14 | Gregor Payet | LUX | 00:22:29 (17) | 02:00:28 (18) | 01:12:03 (11) | 03:39:22 | 00:42 | 64.65 | |
| 15 | Jonas Hoffmann | GER | 00:23:05 (26) | 02:00:52 (20) | 01:11:27 (9) | 03:39:31 | -00:17 | 63.60 | |
| 16 | Louis Woodgate | GRE | 00:21:45 (7) | 01:57:35 (7) | 01:16:56 (36) | 03:39:52 | 00:11 | 62.43 | |
| 17 | Alessandro Fabian | ITA | 00:21:49 (14) | 02:02:13 (29) | 01:12:21 (12) | 03:39:59 | -00:41 | 61.50 | |
| 18 | Joshua Lewis | GBR | 00:21:54 (16) | 01:57:14 (4) | 01:17:10 (37) | 03:40:05 | -00:53 | 60.62 | |
| 19 | Jannik Stoll | GER | 00:22:37 (18) | 01:56:34 (2) | 01:17:21 (39) | 03:40:42 | -02:27 | 59.34 | |
| 20 | Bastian Peitersen | DEN | 00:25:18 (47) | 02:01:53 (26) | 01:10:35 (8) | 03:41:55 | -00:01 | 57.59 | |
| 21 | Mattia Ceccarelli | ITA | 00:21:47 (10) | 02:01:58 (27) | 01:14:36 (25) | 03:42:25 | -01:38 | 56.49 | |
| 22 | Matthew Collins | GBR | 00:24:12 (36) | 02:02:51 (36) | 01:11:50 (10) | 03:43:13 | -01:20 | 55.17 | |
| 23 | Sasha Caterina | SUI | 00:22:38 (20) | 02:01:06 (21) | 01:16:00 (31) | 03:43:23 | n/a | 54.42 | |
| 24 | Valentin Rouvier | FRA | 00:23:05 (26) | 02:02:52 (37) | 01:13:08 (15) | 03:43:36 | -03:34 | 53.65 | |
| 25 | Nils Huckschlag | GER | 00:23:09 (29) | 02:00:23 (17) | 01:15:56 (30) | 03:43:41 | -01:25 | 53.03 | |
| 26 | Antony Costes | FRA | 00:23:01 (24) | 02:02:34 (32) | 01:14:07 (23) | 03:43:43 | 01:40 | 52.47 | |
| 27 | Lasse Nygaard Priester | GER | 00:21:44 (6) | 02:04:58 (43) | 01:13:25 (17) | 03:44:08 | n/a | 51.62 | |
| 28 | Timo Schaffeld | GER | 00:25:17 (45) | 02:01:59 (28) | 01:13:50 (21) | 03:44:51 | -02:59 | 50.54 | |
| 29 | Zachary Bernier-Michaud | CAN | 00:25:15 (43) | 02:03:11 (39) | 01:12:43 (14) | 03:45:03 | n/a | 49.92 | |
| 30 | Sebastian Aschenbrenner | AUT | 00:25:23 (48) | 02:01:51 (24) | 01:13:34 (20) | 03:45:28 | -06:56 | 49.13 | |
| 31 | William Mennesson | FRA | 00:24:18 (40) | 02:02:36 (33) | 01:15:02 (26) | 03:46:07 | -01:33 | 48.18 | |
| 32 | Patrick Benz | SUI | 00:24:18 (40) | 02:02:44 (35) | 01:14:30 (24) | 03:46:10 | -02:54 | 47.75 | |
| 33 | Vincent Clavel | FRA | 00:24:15 (37) | 02:02:38 (34) | 01:16:33 (34) | 03:47:39 | -07:22 | 46.12 | |
| 34 | Tom Vaelen | BEL | 00:22:37 (18) | 02:00:02 (16) | 01:20:17 (47) | 03:47:52 | 03:06 | 45.59 | |
| 35 | Fabian Dutli | SUI | 00:26:48 (52) | 02:03:05 (38) | 01:14:04 (22) | 03:48:11 | 00:57 | 44.99 | |
| 36 | Gustav Palm-Henriksen | DEN | 00:22:59 (23) | 02:00:49 (19) | 01:20:21 (48) | 03:48:12 | -08:04 | 44.66 | |
| 37 | Milosz Sowinski | POL | 00:24:07 (34) | 02:04:59 (44) | 01:16:00 (31) | 03:49:16 | 00:36 | 43.46 | |
| 38 | Robin Hermann | SUI | 00:25:17 (45) | 02:01:52 (25) | 01:18:20 (43) | 03:49:39 | -02:46 | 42.85 | |
| 39 | Piotr Lawicki | POL | 00:25:16 (44) | 02:04:13 (42) | 01:17:21 (39) | 03:50:43 | 00:47 | 41.68 | |
| 40 | Antonio Limoli | ITA | 00:23:05 (26) | 02:03:42 (41) | 01:19:22 (46) | 03:51:07 | 01:34 | 41.08 | |
| 41 | Adam Lennell | SWE | 00:27:01 (55) | 02:02:27 (31) | 01:17:17 (38) | 03:51:26 | -09:16 | 40.57 | |
| 42 | Niklas Ludwig | GER | 00:24:05 (33) | 02:02:26 (30) | 01:21:36 (52) | 03:51:45 | 00:50 | 40.07 | |
| 43 | Philip Refslund | DEN | 00:25:00 (42) | 02:01:08 (22) | 01:21:48 (53) | 03:52:12 | 02:43 | 39.47 | |
| 44 | Herbert Enzinger | GER | 00:26:43 (51) | 02:05:49 (46) | 01:16:49 (35) | 03:53:36 | 01:11 | 38.07 | |
| 45 | Justus Bennewitz | GER | 00:25:44 (50) | 02:03:40 (40) | 01:21:26 (51) | 03:55:32 | n/a | 36.23 | |
| 46 | James Scott-Farrington | GBR | 00:22:39 (21) | 02:17:44 (56) | 01:13:25 (17) | 03:59:19 | 14:46 | 32.84 | |
| 47 | Marc Unger | GER | 00:28:18 (56) | 02:10:15 (48) | 01:16:07 (33) | 03:59:29 | 02:39 | 32.52 | |
| 48 | Marco Gallina | ITA | 00:30:30 (59) | 02:05:40 (45) | 01:18:13 (42) | 04:00:10 | n/a | 31.77 | |
| 49 | Mitch Wismans | NED | 00:24:17 (38) | 02:13:22 (54) | 01:17:37 (41) | 04:00:19 | n/a | 31.48 | |
| 50 | Florin Parfuss | SUI | 00:23:11 (31) | 02:09:29 (47) | 01:25:08 (57) | 04:02:43 | n/a | 29.29 | |
| 51 | Florian Kandutsch | AUT | 00:26:58 (54) | 02:10:43 (49) | 01:20:25 (49) | 04:03:16 | 01:26 | 28.68 | |
| 52 | Matti Weitz | GER | 00:25:43 (49) | 02:12:02 (50) | 01:22:19 (54) | 04:04:27 | -01:14 | 28.42 | |
| 53 | Mikel Txopitea Elorriaga | ESP | 00:28:50 (58) | 02:13:05 (52) | 01:18:47 (44) | 04:05:55 | -11:14 | 28.29 | |
| 54 | Alessandro Vita | ITA | 00:24:17 (38) | 02:18:46 (57) | 01:20:49 (50) | 04:08:26 | n/a | 28.16 | |
| 55 | Stefan Graf | SUI | 00:26:57 (53) | 02:16:00 (55) | 01:24:42 (56) | 04:13:16 | n/a | 28.04 | |
| 56 | Tom Walsh | IRL | 00:32:16 (60) | 02:19:00 (58) | 01:23:30 (55) | 04:20:37 | n/a | 27.93 | |
| 57 | Sven Wies | GER | 00:23:03 (25) | 02:38:47 (59) | 01:18:56 (45) | 04:25:28 | 31:18 | 27.82 | |
| Rinel Pius | EST | 00:22:41 (22) | 02:13:08 (53) | DNF | |||||
| Stenn Goetstouwers | BEL | 00:24:10 (35) | 02:12:43 (51) | DNF | |||||
| Mathias Schenk | AUT | 00:28:26 (57) | DNF |
Female Race Results
| Rank | Name | Nation | Swim | Bike | Run | Time | Diff to exp. | Prize Money | PTO Points |
| 1 | Solveig Loevseth | NOR | 00:25:46 (5) | 02:06:59 (1) | 01:16:28 (2) | 03:53:22 | -03:54 | US$ 7,500 | 91.71 |
| 2 | Lena Meißner | GER | 00:23:33 (1) | 02:11:40 (4) | 01:20:27 (4) | 03:59:42 | -06:19 | US$ 5,000 | 85.17 |
| 3 | Emilie Morier | FRA | 00:25:18 (4) | 02:12:22 (7) | 01:19:48 (3) | 04:01:38 | -11:12 | US$ 3,750 | 82.02 |
| 4 | Daniela Kleiser | GER | 00:31:29 (18) | 02:12:52 (9) | 01:15:16 (1) | 04:03:57 | -03:34 | US$ 3,000 | 78.66 |
| 5 | Anne Reischmann | GER | 00:27:22 (8) | 02:11:02 (2) | 01:22:14 (6) | 04:04:29 | 00:58 | US$ 2,000 | 76.72 |
| 6 | Maja Stage Nielsen | DEN | 00:26:06 (7) | 02:11:45 (5) | 01:23:45 (11) | 04:05:36 | -01:58 | US$ 1,500 | 74.42 |
| 7 | Diede Diederiks | NED | 00:27:24 (9) | 02:11:26 (3) | 01:23:54 (12) | 04:06:50 | -03:13 | US$ 1,250 | 72.10 |
| 8 | Luisa Iogna Prat | ITA | 00:24:31 (3) | 02:17:38 (15) | 01:22:09 (5) | 04:08:14 | -04:06 | US$ 1,000 | 69.73 |
| 9 | Jenny Jendryschik | GER | 00:29:29 (14) | 02:12:42 (8) | 01:23:26 (8) | 04:10:03 | -01:48 | 67.11 | |
| 10 | Anastacia Damm Nielsen | DEN | 00:25:53 (6) | 02:14:17 (10) | 01:26:19 (15) | 04:10:43 | -07:57 | 65.42 | |
| 11 | Shiva Leisner | DEN | 00:27:28 (10) | 02:15:09 (12) | 01:23:37 (10) | 04:10:45 | -13:58 | 64.26 | |
| 12 | Henrike Gueber | GER | 00:29:42 (16) | 02:14:40 (11) | 01:23:35 (9) | 04:12:13 | -08:34 | 62.09 | |
| 13 | Fiona Moriarty | IRL | 00:27:31 (11) | 02:17:01 (13) | 01:25:18 (13) | 04:13:52 | -11:41 | 59.83 | |
| 14 | Julie Iemmolo | FRA | 00:24:27 (2) | 02:17:31 (14) | 01:30:00 (17) | 04:16:06 | -00:51 | 57.19 | |
| 15 | Madlen Kappeler | GER | 00:29:48 (17) | 02:22:45 (19) | 01:22:57 (7) | 04:20:14 | -01:50 | 53.17 | |
| 16 | Anja Koller | SUI | 00:31:31 (19) | 02:19:05 (17) | 01:25:46 (14) | 04:21:01 | -06:20 | 51.71 | |
| 17 | Caterina Mariani | SUI | 00:32:20 (20) | 02:18:14 (16) | 01:29:48 (16) | 04:25:19 | n/a | 47.65 | |
| 18 | Laura Mathews | USA | 00:27:38 (13) | 02:21:04 (18) | 01:32:18 (18) | 04:26:25 | -04:03 | 46.04 | |
| 19 | Mathilde Cartier | SUI | 00:29:34 (15) | 02:25:00 (20) | 01:32:45 (19) | 04:32:06 | n/a | 41.04 | |
| 20 | Mareike Guhl | GER | 00:32:51 (21) | 02:31:42 (21) | 01:41:15 (20) | 04:51:02 | n/a | 38.10 | |
| Katrine Graesboell Christensen | DEN | 00:27:31 (11) | 02:11:55 (6) | DNF |