| 1 | Heinrich de Lange | 38.42 | 42.67 | 50.83 38.42 43.82 41.24 42.95 |
| 2 | Daniel Rush | 49.43 | 53.52 | 52.39 1:11.34 51.09 57.09 49.43 |
| 3 | Joshua Christian Marais | 1:00.75 | 1:04.43 | 1:09.37 1:00.75 1:01.53 1:02.39 1:16.75 |
| 4 | Ruben Grobler | 1:05.98 | 1:08.25 | 1:08.87 1:08.78 1:07.11 1:05.98 1:10.69 |
| 5 | Osman Badroodin | 1:04.90 | 1:10.13 | 1:13.87 1:04.90 1:11.12 1:22.30 1:05.39 |
| 6 | Waseem Hoosain | 1:01.81 | 1:10.97 | 1:14.28 1:18.89 1:11.66 1:01.81 1:06.97 |
| 7 | Maverick Pearson | 1:13.26 | 1:19.27 | 1:30.23 1:13.83 1:13.26 1:23.73 1:20.26 |
| 8 | Dylan Swarts | 1:06.39 | 1:20.97 | 1:18.65 1:22.25 1:06.39 1:25.84 1:22.00 |
| 9 | Jesse Osburn | 1:23.40 | 1:32.03 | 1:38.76 1:38.62 1:27.44 1:30.03 1:23.40 |
| 10 | Isaac Scheepers | 1:28.73 | 1:33.94 | 1:28.73 1:33.00 1:36.08 1:32.75 1:39.45 |
| 11 | Marike Faught | 1:27.31 | 1:34.25 | 1:27.31 2:03.09 1:28.09 1:37.22 1:37.45 |
| 12 | Markus Visagie | 1:14.01 | 1:40.38 | 1:42.05 1:14.01 1:51.60 1:44.48 1:34.62 |
| 13 | Tristan Ford | 1:44.47 | 1:51.60 | 1:55.68 1:57.92 1:47.48 1:51.65 1:44.47 |
| 14 | Juan Erasmus | 1:44.14 | 2:01.46 | 2:05.72 1:44.14 1:59.89 2:01.32 2:03.16 |
| 15 | Duan Myburgh | 1:56.01 | 2:10.61 | 2:05.51 2:24.69 1:56.01 2:01.63 2:46.57 |
| 16 | Zander Daniel Wessels | 2:09.66 | 2:14.50 | 2:14.44 2:14.36 2:14.70 2:09.66 2:24.71 |
| 17 | Andreas de Lange | 2:05.27 | 2:20.02 | 2:43.09 2:20.99 2:22.79 2:05.27 2:16.27 |
| 18 | Andre Johannes Goosen | 1:59.80 | 2:21.39 | 1:59.80 2:28.95 2:24.41 2:33.32 2:10.82 |
| 19 | Ian Luies | 2:16.82 | 2:21.81 | 2:21.49 2:25.95 2:33.78 2:17.99 2:16.82 |
| 20 | Shivaan Harichander | 2:01.03 | 2:22.30 | 2:23.16 2:34.92 2:08.82 2:42.10 2:01.03 |
| 21 | Timothy Lawrance | 2:18.18 | 2:30.28 | 2:41.06 2:56.78 2:24.30 2:25.49 2:18.18 |
| 22 | Taariq Hassim | 2:12.19 | 2:31.61 | 2:23.58 2:12.19 2:55.20 2:30.14 2:41.12 |
| 23 | Luan van der Walt | 2:28.94 | 2:49.03 | 2:28.94 2:39.17 3:10.78 3:10.53 2:37.39 |
| 24 | Dawid Gous | 2:37.53 | 2:52.15 | 3:49.35 2:37.53 2:48.68 2:43.49 3:04.28 |
| 25 | Noah Levin | 2:29.06 | 3:02.91 | 2:42.87 3:39.70 3:36.06 2:49.80 2:29.06 |
| 26 | Brendan James Gray | 2:47.39 | 3:20.83 | 3:20.90 2:47.39 3:17.63 3:23.95 3:38.48 |
| 27 | Muzi Dlamini | 3:20.86 | — | 3:20.86 3:42.80 — — — |
| 28 | Stephanus Blignaut | 3:30.65 | — | 3:30.65 4:14.86 — — — |
| 29 | Ruben van Niekerk | 3:34.64 | — | 3:34.64 DNF — — — |
| 30 | Aaron Noah Govender | 4:29.05 | — | 4:29.05 4:37.98 — — — |
| 31 | George Guvamatanga | DNF | — | DNF DNF — — — |
| 31 | Henry Darwin Hollmann | DNF | — | DNF DNF — — — |
| 31 | Lorenzo Michel Martins | DNF | — | DNF DNF — — — |
| 31 | Yash Naidu | DNF | — | DNF DNF — — — |