Fav | Pos | Race No | Share | Name | Name | Time | Time | Cat Pos (Gen Pos) | Category | Cat Pos | Gender | Gen Pos | Swim | T1 | Cycle | T2 | Run |
| 1 | 860 | | Jack SPENCE | Jack SPENCE #860 Male Under19 | 01:03:09 | 01:03:09 | 1 (1) | Under19 | 1 | Male | 1 | 00:08:35 | 00:01:49 | 00:34:05 | 00:00:41 | 00:17:57 |
| 2 | 915 | | Ruan VAN ZYL | Ruan VAN ZYL #915 Male Under 23 | 01:03:38 | 01:03:38 | 1 (2) | Under 23 | 1 | Male | 2 | 00:08:22 | 00:01:48 | 00:32:22 | 00:00:48 | 00:20:16 |
| 3 | 949 | | Shaun WOLFAARDT | Shaun WOLFAARDT #949 Male Under19 | 01:04:18 | 01:04:18 | 2 (3) | Under19 | 2 | Male | 3 | 00:08:52 | 00:01:40 | 00:33:11 | 00:00:39 | 00:19:54 |
| 4 | 770 | | Khan NOTHNAGEL | Khan NOTHNAGEL #770 Male Under 23 | 01:06:53 | 01:06:53 | 2 (4) | Under 23 | 2 | Male | 4 | 00:08:54 | 00:01:51 | 00:35:12 | 00:00:40 | 00:20:13 |
| 5 | 716 | | Cameron MACNAIR | Cameron MACNAIR #716 Male Under 23 | 01:07:35 | 01:07:35 | 3 (5) | Under 23 | 3 | Male | 5 | 00:08:51 | 00:01:52 | 00:34:24 | 00:00:57 | 00:21:29 |
| 6 | 998 | | Wilhelm STEYN | Wilhelm STEYN #998 Male Vets 40+ | 01:07:40 | 01:07:40 | 1 (6) | Vets 40+ | 1 | Male | 6 | 00:10:27 | 00:02:35 | 00:34:26 | 00:00:48 | 00:19:22 |
| 7 | 653 | | Michael HESSE | Michael HESSE #653 Male Under 23 | 01:07:58 | 01:07:58 | 4 (7) | Under 23 | 4 | Male | 7 | 00:09:33 | 00:01:51 | 00:35:38 | 00:00:54 | 00:20:01 |
| 8 | 819 | | Kira RIBBINK | Kira RIBBINK #819 Female Under19 | 01:08:20 | 01:08:20 | 1 (1) | Under19 | 1 | Female | 1 | 00:08:37 | 00:02:01 | 00:36:08 | 00:00:50 | 00:20:43 |
| 9 | 761 | | Juan-Markus NEL | Juan-Markus NEL #761 Male Under19 | 01:08:36 | 01:08:36 | 3 (8) | Under19 | 3 | Male | 8 | 00:08:58 | 00:01:36 | 00:36:04 | 00:00:42 | 00:21:14 |
| 10 | 835 | | Tiaan ROSSOUW | Tiaan ROSSOUW #835 Male Vets 40+ | 01:08:39 | 01:08:39 | 2 (9) | Vets 40+ | 2 | Male | 9 | 00:10:46 | 00:01:56 | 00:34:56 | 00:00:46 | 00:20:13 |
| 11 | 648 | | Hannah NEWMAN | Hannah NEWMAN #648 Female Under 23 | 01:08:55 | 01:08:55 | 1 (2) | Under 23 | 1 | Female | 2 | 00:09:05 | 00:01:42 | 00:36:02 | 00:00:42 | 00:21:22 |
| 12 | 865 | | Joshua STEYTLER | Joshua STEYTLER #865 Male Under19 | 01:10:01 | 01:10:01 | 4 (10) | Under19 | 4 | Male | 10 | 00:10:04 | 00:01:48 | 00:36:49 | 00:00:41 | 00:20:37 |
| 13 | 562 | | Richard CORDER | Richard CORDER #562 Male Open 24-39 | 01:10:47 | 01:10:47 | 1 (11) | Open 24-39 | 1 | Male | 11 | 00:10:05 | 00:02:11 | 00:35:39 | 00:01:03 | 00:21:46 |
| 14 | 651 | | Jan-Carel HESLINGA | Jan-Carel HESLINGA #651 Male Vets 40+ | 01:11:13 | 01:11:13 | 3 (12) | Vets 40+ | 3 | Male | 12 | 00:10:45 | 00:02:55 | 00:36:06 | 00:01:33 | 00:19:53 |
| 15 | 818 | | Kayla RIBBINK | Kayla RIBBINK #818 Female Under19 | 01:11:45 | 01:11:45 | 2 (3) | Under19 | 2 | Female | 3 | 00:08:39 | 00:01:57 | 00:37:35 | 00:00:55 | 00:22:37 |
| 16 | 870 | | Natalie STERK | Natalie STERK #870 Female Open 24-39 | 01:12:13 | 01:12:13 | 1 (4) | Open 24-39 | 1 | Female | 4 | 00:10:01 | 00:01:55 | 00:39:08 | 00:01:00 | 00:20:07 |
| 17 | 605 | | Kyle ERSKINE | Kyle ERSKINE #605 Male Under19 | 01:12:25 | 01:12:25 | 5 (13) | Under19 | 5 | Male | 13 | 00:08:59 | 00:01:47 | 00:36:41 | 00:00:48 | 00:24:07 |
| 18 | 741 | | Devon MC ALPINE | Devon MC ALPINE #741 Male Open 24-39 | 01:13:01 | 01:13:01 | 2 (14) | Open 24-39 | 2 | Male | 14 | 00:11:43 | 00:02:08 | 00:39:00 | 00:01:06 | 00:19:02 |
| 19 | 559 | | Clintin COGZELL | Clintin COGZELL #559 Male Open 24-39 | 01:13:05 | 01:13:05 | 3 (15) | Open 24-39 | 3 | Male | 15 | 00:13:10 | 00:02:10 | 00:34:36 | 00:01:24 | 00:21:44 |
| 20 | 650 | | Shanan HENDRICKS | Shanan HENDRICKS #650 Male Open 24-39 | 01:13:18 | 01:13:18 | 4 (16) | Open 24-39 | 4 | Male | 16 | 00:11:21 | 00:01:45 | 00:36:29 | 00:00:59 | 00:22:43 |
| 21 | 720 | | Sandra MANSVELDER | Sandra MANSVELDER #720 Female Open 24-39 | 01:13:45 | 01:13:45 | 2 (5) | Open 24-39 | 2 | Female | 5 | 00:11:01 | 00:02:20 | 00:37:10 | 00:01:06 | 00:22:06 |
| 22 | 887 | | Warwick VAN BREDA | Warwick VAN BREDA #887 Male Vets 40+ | 01:15:00 | 01:15:00 | 4 (17) | Vets 40+ | 4 | Male | 17 | 00:11:33 | 00:02:21 | 00:36:15 | 00:01:40 | 00:23:08 |
| 23 | 817 | | Vernon REMBOLD | Vernon REMBOLD #817 Male Vets 40+ | 01:15:37 | 01:15:37 | 5 (18) | Vets 40+ | 5 | Male | 18 | 00:12:12 | 00:03:26 | 00:35:20 | 00:01:05 | 00:23:31 |
| 24 | 702 | | Stephane LATINI | Stephane LATINI #702 Male Open 24-39 | 01:15:43 | 01:15:43 | 5 (19) | Open 24-39 | 5 | Male | 19 | 00:12:24 | 00:02:30 | 00:35:28 | 00:00:58 | 00:24:21 |
| 25 | 649 | | Trish HEIMANN | Trish HEIMANN #649 Female Vets 40+ | 01:15:54 | 01:15:54 | 1 (6) | Vets 40+ | 1 | Female | 6 | 00:10:48 | 00:01:53 | 00:37:12 | 00:00:53 | 00:25:06 |
| 26 | 997 | | Ruan NAUDE | Ruan NAUDE #997 Male Open 24-39 | 01:16:02 | 01:16:02 | 6 (20) | Open 24-39 | 6 | Male | 20 | 00:11:28 | 00:02:06 | 00:33:58 | 00:00:45 | 00:27:43 |
| 27 | 824 | | Riana ROBERTSON | Riana ROBERTSON #824 Female Open 24-39 | 01:16:18 | 01:16:18 | 3 (7) | Open 24-39 | 3 | Female | 7 | 00:10:20 | 00:01:42 | 00:37:28 | 00:00:51 | 00:25:55 |
| 28 | 525 | | Geoffrey BICKFORD | Geoffrey BICKFORD #525 Male Open 24-39 | 01:16:38 | 01:16:38 | 7 (21) | Open 24-39 | 7 | Male | 21 | 00:10:46 | 00:02:47 | 00:40:03 | 00:01:12 | 00:21:49 |
| 29 | 661 | | Matthe ILSL | Matthe ILSL #661 Male Open 24-39 | 01:16:39 | 01:16:39 | 8 (22) | Open 24-39 | 8 | Male | 22 | 00:10:31 | 00:02:43 | 00:39:35 | 00:01:15 | 00:22:32 |
| 30 | 687 | | Kai KOHLER | Kai KOHLER #687 Male Vet 50+ | 01:16:43 | 01:16:43 | 1 (23) | Vet 50+ | 1 | Male | 23 | 00:11:01 | 00:02:30 | 00:39:19 | 00:01:14 | 00:22:36 |
| 31 | 756 | | Byron MUNCH | Byron MUNCH #756 Male Open 24-39 | 01:16:58 | 01:16:58 | 9 (24) | Open 24-39 | 9 | Male | 24 | 00:12:32 | 00:03:33 | 00:37:07 | 00:01:36 | 00:22:09 |
| 32 | 38 | | Henri DE KOCK | Henri DE KOCK #38 Male Open 24-39 | 01:17:19 | 01:17:19 | 10 (25) | Open 24-39 | 10 | Male | 25 | 00:11:10 | 00:03:12 | 00:37:06 | 00:01:38 | 00:24:12 |
| 33 | 920 | | Oliver VENTER | Oliver VENTER #920 Male Open 24-39 | 01:17:31 | 01:17:31 | 11 (26) | Open 24-39 | 11 | Male | 26 | 00:13:06 | 00:02:43 | 00:38:18 | 00:01:04 | 00:22:17 |
| 34 | 513 | | Matthew BATES | Matthew BATES #513 Male Open 24-39 | 01:17:48 | 01:17:48 | 12 (27) | Open 24-39 | 12 | Male | 27 | 00:10:11 | 00:02:16 | 00:38:18 | | 01:17:48 |
| 35 | 992 | | Aiden SMITH | Aiden SMITH #992 Male Under 23 | 01:17:48 | 01:17:48 | 5 (28) | Under 23 | 5 | Male | 28 | 00:09:33 | 00:02:40 | 00:43:14 | 00:01:14 | 00:21:04 |
| 36 | 135 | | Peter SWANEPOEL | Peter SWANEPOEL #135 Male Open 24-39 | 01:17:49 | 01:17:49 | 13 (29) | Open 24-39 | 13 | Male | 29 | 00:14:39 | 00:02:47 | 00:36:49 | 00:01:19 | 00:22:13 |
| 37 | 973 | | Matthys NIEUWOUDT | Matthys NIEUWOUDT #973 Male Under 23 | 01:17:52 | 01:17:52 | 6 (30) | Under 23 | 6 | Male | 30 | 00:09:48 | 00:03:55 | 00:39:26 | 00:01:35 | 00:23:06 |
| 38 | 841 | | Johann SCHOEMAN | Johann SCHOEMAN #841 Male Open 24-39 | 01:17:52 | 01:17:52 | 14 (31) | Open 24-39 | 14 | Male | 31 | 00:11:09 | 00:02:08 | 00:41:22 | -00:40:05 | 01:03:17 |
| 39 | 930 | | Gavin Francois VLOTMAN | Gavin Francois VLOTMAN #930 Male Open 24-39 | 01:18:04 | 01:18:04 | 15 (32) | Open 24-39 | 15 | Male | 32 | 00:11:46 | 00:02:03 | 00:40:22 | 00:00:58 | 00:22:53 |
| 40 | 516 | | Dries BEETGE | Dries BEETGE #516 Male Vet 50+ | 01:18:21 | 01:18:21 | 2 (33) | Vet 50+ | 2 | Male | 33 | 00:12:40 | 00:03:04 | 00:37:53 | 00:01:34 | 00:23:07 |
| 41 | 840 | | Jaco SCHOEMAN | Jaco SCHOEMAN #840 Male Vets 40+ | 01:18:24 | 01:18:24 | 6 (34) | Vets 40+ | 6 | Male | 34 | 00:15:12 | 00:02:57 | 00:35:14 | 00:01:05 | 00:23:54 |
| 42 | 866 | | Nadya STOLARCZYK | Nadya STOLARCZYK #866 Female Under19 | 01:18:26 | 01:18:26 | 3 (8) | Under19 | 3 | Female | 8 | 00:09:59 | 00:02:16 | 00:41:38 | 00:00:50 | 00:23:40 |
| 43 | 688 | | Kary KOHLER | Kary KOHLER #688 Male Under19 | 01:18:35 | 01:18:35 | 6 (35) | Under19 | 6 | Male | 35 | 00:09:21 | 00:04:07 | 00:41:05 | 00:00:50 | 00:23:11 |
| 44 | 854 | | Magdalena SHLESINGER | Magdalena SHLESINGER #854 Female Vet 50+ | 01:18:48 | 01:18:48 | 1 (9) | Vet 50+ | 1 | Female | 9 | 00:11:53 | 00:02:41 | 00:39:40 | 00:01:22 | 00:23:11 |
| 45 | 812 | | Collen RAUTENBACH | Collen RAUTENBACH #812 Male Vets 40+ | 01:19:07 | 01:19:07 | 7 (36) | Vets 40+ | 7 | Male | 36 | 00:10:35 | 00:02:52 | 00:39:21 | 00:01:24 | 00:24:53 |
| 46 | 820 | | Wiehan RIEKERT | Wiehan RIEKERT #820 Male Open 24-39 | 01:19:07 | 01:19:07 | 16 (37) | Open 24-39 | 16 | Male | 37 | 00:13:39 | 00:03:34 | 00:37:55 | 00:01:03 | 00:22:54 |
| 47 | 682 | | Gavin KILPATRICK | Gavin KILPATRICK #682 Male Open 24-39 | 01:19:12 | 01:19:12 | 17 (38) | Open 24-39 | 17 | Male | 38 | 00:12:26 | 00:03:13 | 00:35:51 | 00:01:15 | 00:26:25 |
| 48 | 604 | | Tiaan ENGELBRECHT | Tiaan ENGELBRECHT #604 Male Under 23 | 01:19:13 | 01:19:13 | 7 (39) | Under 23 | 7 | Male | 39 | 00:12:27 | 00:03:12 | 00:35:51 | 00:01:24 | 00:26:17 |
| 49 | 537 | | Chris BOXALL | Chris BOXALL #537 Male Open 24-39 | 01:19:18 | 01:19:18 | 18 (40) | Open 24-39 | 18 | Male | 40 | 00:10:51 | 00:03:06 | 00:41:38 | 00:01:07 | 00:22:35 |
| 50 | 111 | | Marthinus Petrus PIENAAR | Marthinus Petrus PIENAAR #111 Male Open 24-39 | 01:19:22 | 01:19:22 | 19 (41) | Open 24-39 | 19 | Male | 41 | 00:11:26 | 00:03:59 | 00:39:34 | 00:01:33 | 00:22:48 |