| 1 | Osman Badroodin | 10.62 | 13.99 | 17.12 10.62 14.40 12.34 15.24 |
| 2 | Shivaan Harichander | 13.24 | 15.82 | 15.88 19.98 13.24 15.86 15.73 |
| 3 | Ruben Grobler | 14.94 | 16.22 | 15.58 17.55 19.34 15.53 14.94 |
| 4 | Juandré Jacobs | 16.47 | 21.32 | DNF 22.02 21.77 20.16 16.47 |
| 5 | Amahle Nyembe | 16.90 | 23.75 | 25.85 31.78 22.42 16.90 22.99 |
| 6 | Marike Faught | 22.11 | 23.94 | 24.56 24.28 24.76 22.11 22.98 |
| 7 | Ruben van Niekerk | 17.73 | 24.68 | 27.81 17.73 26.58 26.14 21.32 |
| 8 | Vincent Hazelton-Lagarrigue | 22.35 | 28.20 | 26.91 22.35 35.30 22.39 36.71 |
| 9 | Christiaan Botha | 25.28 | 28.59 | 27.92 32.35 27.58 30.28 25.28 |
| 10 | Luan van der Walt | 22.56 | 30.27 | 1:00.92 22.56 27.96 33.83 29.02 |
| 11 | Casey Milos | 27.76 | 30.44 | 27.76 30.05 31.95 29.31 42.86 |
| 12 | Jacques Andre Horne | 27.92 | 30.85 | 36.56 29.78 32.24 30.52 27.92 |
| 13 | Phetolo Mashamaite | 24.76 | 32.34 | 31.37 31.02 24.76 34.63 35.72 |
| 14 | Rhynard Steyn | 29.01 | 32.83 | 31.68 32.48 29.01 34.32 37.81 |
| 15 | Nathan Swanepoel | 28.85 | 33.59 | 28.93 28.85 47.10 40.43 31.40 |
| 16 | Albert Kruger | 29.20 | 35.81 | 1:03.20 29.78 29.20 40.39 37.25 |
| 17 | Kagoentle Mokhabela | 32.31 | 37.65 | 34.56 48.17 32.31 43.42 34.97 |
| 18 | Joshua Bennett | 34.13 | 42.57 | 48.36 34.13 42.99 42.30 42.41 |
| 19 | Itai Seth Polon | 54.24 | 56.46 | 1:08.84 55.91 58.50 54.96 54.24 |
| 20 | Ian James Mcleod | 47.69 | 1:04.99 | 1:26.43 57.59 1:19.59 47.69 57.80 |
| 21 | Mateo Zarko Cvetkovic | 54.12 | 1:05.68 | 1:05.19 54.12 1:06.24 1:19.08 1:05.62 |
| 22 | Jake Fisher | 53.76 | 1:06.80 | 1:01.27 1:35.14 53.76 1:03.75 1:15.37 |
| 23 | Tobias Lochner | 57.82 | 1:24.54 | 1:22.90 DNF 57.82 1:36.95 1:13.77 |
| 24 | Pieter Cornelius Horne | 1:11.40 | 1:34.68 | 2:16.24 1:26.30 1:11.40 1:41.04 1:36.71 |
| 25 | Jared Jurisich | 1:18.41 | 1:47.75 | 2:02.21 1:25.16 2:34.47 1:18.41 1:55.87 |
| 26 | Dartagnan Seejiram | 1:47.07 | — | DNF 1:47.07 — — — |
| 27 | Gawie Beukman | 2:15.03 | — | 2:15.03 2:39.58 — — — |
| 28 | Retief van Aswegen | DNF | — | DNF DNF — — — |