| | 1 1 1 | 1 | Antoine Van Heerden | 30-34 | 1:02:35 30-34 | |
| | 2 2 2 | 2 | Devon Usher | 30-34 | 1:03:07 30-34 | |
| | 3 1 3 | 1 | Sean Wentzel | 35-39 | 1:05:21 | |
| | 4 1 4 | 1 | Ethan Gilbert | 16-24 | 1:05:38 16-24 | |
| | 5 3 5 | 3 | Gerrit Van Wyk | 30-34 | 1:05:59 30-34 | |
| | 6 1 6 | 1 | Seena Akbary | 25-29 | 1:06:03 25-29 | |
| | 7 2 7 | 2 | Adam Gorin | 25-29 | 1:06:50 25-29 | |
| | 8 2 8 | 2 | Simon Levin | 35-39 | 1:07:50 35-39 | |
| | 9 3 9 | 3 | Hannes Franke | 35-39 | 1:08:06 35-39 | |
| | 10 3 10 | 3 | Josh Goosen | 25-29 | 1:08:09 25-29 | |
| | 11 1 11 | 1 | David Tielie | 50-54 | 1:09:39 50-54 | |
| | 12 4 12 | 4 | Daniel Ochse | 30-34 | 1:09:46 30-34 | |
| | 13 4 13 | 4 | Raees Kajee | 35-39 | 1:10:14 35-39 | |
| | 14 2 14 | 2 | Ryan Potgieter | 16-24 | 1:10:19 16-24 | |
| | 15 5 15 | 5 | Joshua Bassingthwaighte | 30-34 | 1:10:59 30-34 | |
| | 16 6 16 | 6 | Wayne Frazer | 30-34 | 1:11:44 30-34 | |
| | 17 1 17 | 1 | Francois Van Der Merwe | 40-44 | 1:12:04 40-44 | |
| | 18 2 18 | 2 | Justin De Oliveira | 40-44 | 1:12:31 40-44 | |
| | 19 4 19 | 4 | Ebrahim Hartley | 25-29 | 1:12:33 25-29 | |
| | 20 7 20 | 7 | Gareth Van Wyk | 30-34 | 1:12:36 30-34 | |
| | 21 8 21 | 8 | Bradley Love | 30-34 | 1:12:39 30-34 | |
| | 22 5 22 | 5 | Ethan Gouws | 25-29 | 1:12:58 25-29 | |
| | 23 5 23 | 5 | Benjamin Clarke | 35-39 | 1:13:04 35-39 | |
| | 24 3 24 | 3 | Matthew Neser | 16-24 | 1:13:04 16-24 | |
| | 25 3 25 | 3 | Leon Gazet Du Chattelier | 40-44 | 1:13:06 40-44 | |
| | 26 6 26 | 6 | Calvin Blignaut | 25-29 | 1:13:10 25-29 | |
| | 27 4 27 | 4 | Jaydin Williams | 16-24 | 1:13:28 16-24 | |
| | 28 9 28 | 9 | Renier Botha | 30-34 | 1:13:31 30-34 | |
| | 29 4 29 | 4 | Bruce Patterson | 40-44 | 1:13:43 40-44 | |
| | 30 10 30 | 10 | Dean Battersby | 30-34 | 1:13:53 30-34 | |
| | 31 2 31 | 2 | Clint Bunch | 50-54 | 1:13:54 50-54 | |
| | 32 1 32 | 1 | Brett Sparg | 45-49 | 1:14:05 45-49 | |
| | 33 7 33 | 7 | Farai Engelbrecht | 25-29 | 1:14:07 25-29 | |
| | 34 2 34 | 2 | Wynand Viljoen | 45-49 | 1:14:14 45-49 | |
| | 35 11 35 | 11 | Ryan Roberts | 30-34 | 1:14:23 30-34 | |
| | 36 5 36 | 5 | Mark Whittle | 40-44 | 1:14:25 40-44 | |
| | 37 12 37 | 12 | Ruan Du Toit | 30-34 | 1:14:26 30-34 | |
| | 38 6 38 | 6 | Hedley Gerhardt | 40-44 | 1:14:31 40-44 | |
| | 39 8 39 | 8 | Zola Rodriguez | 25-29 | 1:14:32 25-29 | |
| | 40 13 40 | 13 | Malan Ruppert | 30-34 | 1:14:46 30-34 | |
| | 41 7 41 | 7 | James Trotter | 40-44 | 1:15:12 40-44 | |
| | 42 8 42 | 8 | Roelof Feenstra | 40-44 | 1:15:39 40-44 | |
| | 43 3 43 | 3 | Ashley Benatar | 50-54 | 1:15:49 50-54 | |
| | 44 9 44 | 9 | Jaco Crous | 40-44 | 1:16:03 40-44 | |
| | 45 6 45 | 6 | Bernard Smit | 35-39 | 1:16:25 35-39 | |
| | 46 5 46 | 5 | Matthew Martins | 16-24 | 1:16:46 16-24 | |
| | 47 9 47 | 9 | Kerem Kocum | 25-29 | 1:17:21 25-29 | |
| | 48 6 48 | 6 | Devilliers Visser | 16-24 | 1:17:31 16-24 | |
| | 49 7 49 | 7 | Tim Hopp | 35-39 | 1:17:37 35-39 | |
| | 50 14 50 | 14 | Flip Le Roux | 30-34 | 1:17:38 30-34 | |
| | 51 15 51 | 15 | Mathieu Cros | 30-34 | 1:17:43 30-34 | |
| | 52 16 52 | 16 | Ben Hoseus | 30-34 | 1:17:53 30-34 | |
| | 53 17 53 | 17 | Jacques Fick | 30-34 | 1:18:00 30-34 | |
| | 54 7 54 | 7 | Jacques Badenhorst | 16-24 | 1:18:05 16-24 | |
| | 55 10 55 | 10 | Ingram Van Heerden | 40-44 | 1:18:06 40-44 | |
| | 56 18 56 | 18 | Anthony Mofsowitz | 30-34 | 1:18:14 30-34 | |
| | 57 19 57 | 19 | Marcelle Verwey | 30-34 | 1:18:19 30-34 | |
| | 58 8 58 | 8 | Tim Pearson | 35-39 | 1:18:20 35-39 | |
| | 59 20 59 | 20 | Nicholas Affat | 30-34 | 1:18:26 30-34 | |
| | 60 21 60 | 21 | Ross Mclean | 30-34 | 1:18:27 30-34 | |
| | 61 9 61 | 9 | Alastair Woods | 35-39 | 1:18:29 35-39 | |
| | 62 22 62 | 22 | Adam Sack | 30-34 | 1:18:42 30-34 | |
| | 63 11 63 | 11 | Travis Kriel | 40-44 | 1:18:54 40-44 | |
| | 64 10 64 | 10 | Ryan Nel | 35-39 | 1:19:00 35-39 | |
| | 65 11 65 | 11 | Marcel Straßer | 35-39 | 1:19:14 35-39 | |
| | 66 23 66 | 23 | Jason Knight | 30-34 | 1:19:21 30-34 | |
| | 67 12 67 | 12 | Joshua Gernetzk | 35-39 | 1:19:33 35-39 | |
| | 68 10 68 | 10 | Joshua Clery | 25-29 | 1:19:34 25-29 | |
| | 69 3 69 | 3 | Ant Saunders | 45-49 | 1:19:38 45-49 | |
| | 70 11 70 | 11 | Martin Mounot | 25-29 | 1:19:41 25-29 | |
| | 71 12 71 | 12 | Gabriel Hugo | 40-44 | 1:19:49 40-44 | |
| | 72 4 72 | 4 | Conrad Heydenrych | 45-49 | 1:19:55 45-49 | |
| | 73 4 73 | 4 | Paul Gillingham | 50-54 | 1:19:57 50-54 | |
| | 74 13 74 | 13 | Julio Lindveld | 35-39 | 1:20:01 35-39 | |
| | 75 12 75 | 12 | Mark Mohan | 25-29 | 1:20:10 25-29 | |
| | 76 24 76 | 24 | Danie Cilliers | 30-34 | 1:20:10 30-34 | |
| | 77 25 77 | 25 | Neil Du Toit | 30-34 | 1:20:19 30-34 | |
| | 78 5 78 | 5 | Mario Schoeman | 45-49 | 1:20:31 45-49 | |
| | 79 26 79 | 26 | Ghiome Kolbe | 30-34 | 1:21:27 30-34 | |
| | 80 27 80 | 27 | Rudy Hanse | 30-34 | 1:21:42 30-34 | |
| | 81 28 81 | 28 | Ruan Vlok | 30-34 | 1:21:56 30-34 | |
| | 82 8 82 | 8 | Caelen De Wet | 16-24 | 1:22:02 16-24 | |
| | 83 14 83 | 14 | Jan Adlam | 35-39 | 1:22:15 35-39 | |
| | 84 13 84 | 13 | Emil Gutsche | 25-29 | 1:22:23 25-29 | |
| | 85 13 85 | 13 | Ronald Caabay | 40-44 | 1:22:32 40-44 | |
| | 86 29 86 | 29 | Sj Engelbrecht | 30-34 | 1:22:34 30-34 | |
| | 87 9 87 | 9 | Gilad Janet | 16-24 | 1:22:38 16-24 | |
| | 88 14 88 | 14 | Henre Lategan | 25-29 | 1:22:49 25-29 | |
| | 89 15 89 | 15 | Michael Dassie | 35-39 | 1:22:50 35-39 | |
| | 90 30 90 | 30 | Abdelaziz Alhammadi | 30-34 | 1:22:51 30-34 | |
| | 91 15 91 | 15 | Alex Biaya | 25-29 | 1:23:02 25-29 | |
| | 92 16 92 | 16 | Macauley Telford | 25-29 | 1:23:06 25-29 | |
| | 93 14 93 | 14 | Tim Wilson | 40-44 | 1:23:22 40-44 | |
| | 94 5 94 | 5 | Martin Loots | 50-54 | 1:23:23 50-54 | |
| | 95 10 95 | 10 | Daniel Robinson | 16-24 | 1:23:43 16-24 | |
| | 96 31 96 | 31 | Berno Greyling | 30-34 | 1:23:53 30-34 | |
| | 97 32 97 | 32 | Eduan James | 30-34 | 1:23:56 30-34 | |
| | 98 16 98 | 16 | Ibrahim Jabri | 35-39 | 1:23:57 35-39 | |
| | 99 33 99 | 33 | Andries Jacobus Malan | 30-34 | 1:24:13 30-34 | |
| | 100 6 100 | 6 | Anthony Aubin | 50-54 | 1:24:26 50-54 | |