| 1 | Daniel Rush | 46.12 | 48.12 | 48.93 46.12 52.07 49.00 46.42 |
| 2 | Osman Badroodin | 57.60 | 1:02.74 | 1:06.91 1:05.70 57.60 1:02.09 1:00.43 |
| 3 | Ruben Grobler | 57.75 | 1:03.31 | 57.75 1:04.89 1:00.08 1:04.96 1:05.71 |
| 4 | Ian Luies | 1:12.43 | 1:18.01 | 1:34.07 1:12.43 1:19.53 1:14.15 1:20.36 |
| 5 | Shivaan Harichander | 1:12.56 | 1:18.24 | 1:17.34 1:21.79 1:15.60 1:12.56 1:21.85 |
| 6 | Marike Faught | 1:17.09 | 1:18.94 | 1:24.61 1:21.02 1:17.69 1:18.10 1:17.09 |
| 7 | Noah Levin | 1:25.28 | 1:31.89 | 1:27.35 1:34.53 1:33.86 1:25.28 1:34.47 |
| 8 | Ruben van Niekerk | 1:42.27 | 1:52.94 | 2:11.97 1:42.40 1:44.44 1:42.27 2:16.73 |
| 9 | Dhiren Callister Nair | 2:00.78 | 2:09.31 | 2:18.11 2:00.78 2:05.63 DNF 2:04.19 |
| 10 | Rhynard Steyn | 2:02.51 | 2:10.45 | 2:06.06 2:02.51 2:10.38 2:24.04 2:14.92 |
| 11 | Albert Kruger | 1:59.19 | 2:23.50 | 2:34.04 2:28.31 1:59.19 2:24.14 2:18.06 |
| 12 | Christiaan Botha | 2:15.52 | 2:25.45 | 2:15.52 2:29.47 2:22.61 2:24.28 2:35.49 |
| 13 | Brendan James Gray | 2:19.28 | 2:30.35 | 2:32.77 2:25.67 2:32.60 2:38.43 2:19.28 |
| 14 | Luan van der Walt | 2:01.71 | 2:32.40 | 2:36.88 2:26.03 2:36.52 2:34.66 2:01.71 |
| 15 | Tyrone Pedro | 2:20.58 | 2:36.94 | 2:29.20 2:45.43 2:20.58 2:41.88 2:39.74 |
| 16 | Cameron Lochrie Mcleod | 2:34.58 | 2:48.99 | 2:46.74 2:50.33 2:51.31 2:49.90 2:34.58 |
| 17 | Phetolo Mashamaite | 2:16.35 | 2:49.38 | 2:54.33 2:16.35 2:46.71 3:17.13 2:47.09 |
| 18 | Kagoentle Mokhabela | 2:22.71 | 2:51.09 | 3:18.88 2:36.06 DNF 2:22.71 2:38.34 |
| 19 | Yusuf Talha Sayed Karim | 2:35.57 | 3:06.84 | 3:20.70 2:57.57 3:17.90 3:05.06 2:35.57 |
| 20 | Annabel Agapitus | 2:47.00 | 3:13.34 | 3:13.81 2:47.00 3:17.76 3:15.62 3:10.59 |
| 21 | Ian James Mcleod | 3:15.54 | 3:25.20 | 3:17.65 3:15.54 4:13.47 3:33.46 3:24.49 |
| 22 | Jesse Jacobs | 3:19.19 | 3:29.29 | 3:44.62 3:19.19 3:25.36 3:43.12 3:19.39 |
| 23 | Rudransh Bindra | 3:08.20 | 3:30.21 | 3:38.37 3:08.20 3:56.27 3:33.44 3:18.83 |
| 24 | Vincent Hazelton-Lagarrigue | 3:28.16 | 3:33.01 | 3:47.26 3:28.16 3:32.24 3:30.05 3:36.74 |
| 25 | Heinrich Hechter | 3:32.34 | 3:51.51 | 3:56.43 3:32.34 3:49.01 4:17.77 3:49.08 |
| 26 | Yash Naidu | 3:18.78 | 3:58.86 | 3:38.62 4:08.35 3:18.78 4:19.04 4:09.62 |
| 27 | Davin Sudhakaran | 3:34.99 | 4:00.82 | 3:59.38 4:03.50 3:59.59 3:34.99 4:13.83 |
| 28 | Juandré Jacobs | 4:19.67 | — | 4:41.33 4:19.67 — — — |
| 29 | Anthony Kalaya Rush | 4:40.89 | — | 4:40.89 DNF — — — |
| 30 | Gawie Beukman | DNF | — | DNF DNF — — — |