| 1 | Daniel Rush | 25.28 | 29.02 | 29.22 29.18 28.67 25.28 33.16 |
| 2 | Osman Badroodin | 31.43 | 34.16 | 45.97 31.43 33.94 34.71 33.83 |
| 3 | Waseem Hoosain | 31.35 | 35.14 | 33.30 31.35 35.69 41.82 36.43 |
| 4 | Ruben Grobler | 31.82 | 37.84 | 37.85 31.82 35.44 DNF 40.22 |
| 5 | Dylan Swarts | 39.57 | 42.93 | 39.57 41.62 44.20 45.78 42.97 |
| 6 | Marike Faught | 40.12 | 44.97 | 47.67 52.64 41.09 40.12 46.15 |
| 7 | Shivaan Harichander | 42.02 | 47.40 | 43.93 45.71 52.57 54.54 42.02 |
| 8 | Isaac Scheepers | 45.12 | 49.60 | 47.32 57.73 51.75 49.74 45.12 |
| 9 | Maverick Pearson | 37.16 | 50.25 | DNF 37.16 47.62 40.82 1:02.30 |
| 10 | Joshua Christian Marais | 44.25 | 51.58 | 49.35 44.25 1:03.84 57.20 48.18 |
| 11 | Andreas de Lange | 48.18 | 52.31 | 58.07 48.27 58.30 48.18 50.60 |
| 12 | Jesse Osburn | 43.40 | 54.78 | 54.74 57.19 1:08.57 52.42 43.40 |
| 13 | Ian Luies | 42.73 | 54.96 | 53.57 55.60 1:05.98 55.70 42.73 |
| 14 | Jan-Hendrik Hoogendyk | 53.53 | 56.98 | 58.83 57.87 54.23 53.53 1:11.09 |
| 15 | Markus Visagie | 55.84 | 1:01.96 | 55.84 1:08.21 59.43 1:00.96 1:05.48 |
| 16 | Noah Levin | 59.35 | 1:02.25 | 59.35 1:07.35 1:02.87 1:04.17 59.71 |
| 17 | Duan Myburgh | 55.69 | 1:03.23 | 1:08.24 1:04.50 55.69 1:10.09 56.95 |
| 18 | Andre Johannes Goosen | 50.10 | 1:04.25 | 1:04.63 1:07.20 50.10 1:00.91 1:08.56 |
| 19 | Juan Erasmus | 58.26 | 1:06.11 | 1:02.43 58.26 1:12.41 1:10.04 1:05.86 |
| 20 | Zander Daniel Wessels | 1:02.76 | 1:08.74 | 1:06.49 1:11.24 1:08.48 1:16.65 1:02.76 |
| 21 | George Guvamatanga | 1:00.47 | 1:10.70 | 1:05.88 1:00.47 1:16.98 1:14.37 1:11.84 |
| 22 | Uthmaan Adam | 59.75 | 1:10.77 | 59.75 1:09.46 1:06.16 1:24.85 1:16.68 |
| 23 | Brendan James Gray | 1:02.77 | 1:10.78 | 1:05.24 1:13.03 1:16.08 1:02.77 1:14.06 |
| 24 | Timothy Lawrance | 1:07.59 | 1:12.34 | 1:07.59 1:22.37 1:10.93 1:11.12 1:14.97 |
| 25 | Tristan Ford | 59.33 | 1:14.19 | 1:18.56 59.33 1:16.12 1:07.88 1:18.81 |
| 26 | Praise Boiwa | 1:04.36 | 1:18.44 | 1:14.38 DNF 1:31.54 1:04.36 1:09.39 |
| 27 | Ruben van Niekerk | 1:11.61 | 1:18.68 | 1:24.51 1:17.94 1:30.53 1:13.58 1:11.61 |
| 28 | Luan van der Walt | 1:02.84 | 1:21.15 | 1:02.84 1:29.52 1:12.51 1:21.42 1:38.11 |
| 29 | Yusuf Talha Sayed Karim | 1:20.00 | 1:29.84 | 1:33.44 1:21.31 1:36.64 1:34.78 1:20.00 |
| 30 | Daniel David Mizen | 1:28.93 | 1:32.13 | 1:36.68 2:28.96 1:29.57 1:30.13 1:28.93 |
| 31 | Dumisani Moyo | 1:25.21 | 1:32.47 | 1:48.18 1:36.18 1:25.21 1:32.35 1:28.88 |
| 32 | Dawid Gous | 1:17.46 | 1:33.66 | 1:42.46 1:17.46 1:58.98 1:25.14 1:33.38 |
| 33 | Mikhyl Singh | 1:26.38 | 1:40.95 | 1:46.73 1:42.52 1:59.89 1:33.61 1:26.38 |
| 34 | Conrad Roets | 1:34.86 | 1:43.19 | 1:59.40 1:46.04 1:34.86 1:43.28 1:40.26 |
| 35 | Jacques Andre Horne | 1:37.61 | 1:45.66 | 1:58.18 1:37.61 1:49.28 1:43.25 1:44.46 |
| 36 | Luke Matthew van Wyk | 1:52.88 | 1:58.93 | 1:53.04 2:02.45 1:52.88 2:01.31 DNF |
| 37 | Caleb Ramrattan | 1:39.98 | 2:17.64 | 2:08.97 1:39.98 DNF 2:03.05 2:40.90 |
| 38 | Muzi Dlamini | 2:00.60 | — | 2:02.66 2:00.60 — — — |
| 39 | Stephanus Blignaut | 2:10.11 | — | 2:10.11 DNF — — — |
| 40 | Bokang Matsapa | 2:22.78 | — | 2:35.78 2:22.78 — — — |
| 41 | Gawie Beukman | 2:28.16 | — | DNF 2:28.16 — — — |
| 42 | Pieter Cornelius Horne | 2:33.36 | — | 2:33.36 3:01.12 — — — |
| 43 | Aaron Noah Govender | 2:38.00 | — | 2:38.00 2:46.82 — — — |
| 44 | Henry Darwin Hollmann | 2:54.54 | — | DNF 2:54.54 — — — |
| 45 | Yash Naidu | 2:57.75 | — | 2:57.75 2:59.75 — — — |
| 46 | Johan van Wyk | DNF | — | DNF DNF — — — |
| 46 | Anthony Kalaya Rush | DNF | — | DNF DNF — — — |