FULL RESULTS
HYROX Cape Town 2025 Results – Open Men
237 finishers. Winner Janco Lotter in 1:02:25; median 1:30:49.
| Rank | Athlete | Nat | Age group | Time | Run | Workout |
|---|---|---|---|---|---|---|
| 1 | Janco Lotter | 16-24 | 1:02:25 | 33:00 | 25:21 | |
| 2 | Simon Goldsbrough | 30-34 | 1:02:29 | 31:36 | 27:05 | |
| 3 | Elijah Polydorou | 25-29 | 1:02:44 | 31:20 | 27:37 | |
| 4 | Dean Berndt | 35-39 | 1:03:35 | 32:18 | 27:19 | |
| 5 | Adam Gorin | 25-29 | 1:04:23 | 30:53 | 29:41 | |
| 6 | Jonathan Deane | 35-39 | 1:04:26 | 32:20 | 28:02 | |
| 7 | David Rose | 30-34 | 1:05:07 | 32:44 | 27:53 | |
| 8 | Ethan Gouws | 30-34 | 1:05:31 | 33:10 | 28:24 | |
| 9 | Lance Stevens | 35-39 | 1:07:07 | 34:00 | 29:09 | |
| 10 | Antoine Van Heerden | 30-34 | 1:07:24 | 33:58 | 29:23 | |
| 11 | Devon Usher | 30-34 | 1:07:37 | 32:49 | 30:08 | |
| 12 | Simon Levin | 35-39 | 1:07:53 | 37:35 | 25:57 | |
| 13 | Alex Blumberg | 30-34 | 1:07:56 | 35:18 | 28:36 | |
| 14 | Robbie Alexander | 30-34 | 1:09:04 | 34:41 | 29:55 | |
| 15 | Jaydin Williams | 16-24 | 1:09:36 | 35:25 | 30:14 | |
| 16 | Leonardo Mesquita Da Cruz | 45-49 | 1:09:48 | 36:24 | 28:43 | |
| 17 | James Pilkington | 25-29 | 1:09:51 | 35:44 | 29:43 | |
| 18 | Tristan Evan Hewlett | 25-29 | 1:10:02 | 34:38 | 30:56 | |
| 19 | James Dillon | 35-39 | 1:10:19 | 35:46 | 29:36 | |
| 20 | Bertus Strauss | 16-24 | 1:10:34 | 39:17 | 26:12 | |
| 21 | Mauritz Henderson | 35-39 | 1:10:56 | 36:46 | 29:50 | |
| 22 | Jonny Brown | 16-24 | 1:11:01 | 35:32 | 30:29 | |
| 23 | Ryan Potgieter | 16-24 | 1:11:07 | 35:24 | 30:04 | |
| 24 | Schalk Klopper | 35-39 | 1:12:00 | 36:14 | 31:33 | |
| 25 | Teko Khetsi | 25-29 | 1:12:20 | 36:44 | 31:14 | |
| 26 | Daniel Kuhlmann | 25-29 | 1:12:34 | 34:40 | 33:27 | |
| 27 | Tristan Blewett | 25-29 | 1:13:02 | 39:52 | 27:55 | |
| 28 | Waldo Abrahams | 25-29 | 1:13:09 | 33:56 | 35:05 | |
| 29 | Karim Bazerbachi | 25-29 | 1:14:16 | 37:25 | 30:28 | |
| 30 | Mosa Hlophe | 30-34 | 1:14:37 | 38:08 | 30:48 | |
| 31 | Michael Dassie | 35-39 | 1:14:50 | 38:03 | 30:50 | |
| 32 | Hedley Gerhardt | 40-44 | 1:15:17 | 39:37 | 30:05 | |
| 33 | Vincent Abendanon | 40-44 | 1:15:57 | 38:28 | 31:45 | |
| 34 | Brandon Stewart | 40-44 | 1:16:30 | 35:57 | 35:02 | |
| 35 | Ash Thixton | 30-34 | 1:16:44 | 38:59 | 32:33 | |
| 36 | Conrad Heydenrych | 45-49 | 1:17:24 | 37:42 | 34:34 | |
| 37 | Duane Joaquim | 40-44 | 1:17:25 | 37:56 | 33:17 | |
| 38 | Gabriel Hugo | 40-44 | 1:17:26 | 38:33 | 33:25 | |
| 39 | Daniel Diedericks | 16-24 | 1:17:37 | 36:26 | 36:05 | |
| 40 | Pieter Aucamp | 35-39 | 1:17:37 | 41:01 | 31:11 | |
| 41 | Adam Sack | 30-34 | 1:17:46 | 40:52 | 31:11 | |
| 42 | Ben Collins | 25-29 | 1:17:48 | 41:05 | 31:23 | |
| 43 | Ryan Roberts | 30-34 | 1:17:49 | 40:04 | 33:03 | |
| 44 | Scott Fraser | 40-44 | 1:18:16 | 37:35 | 35:07 | |
| 45 | Xan Munro | 16-24 | 1:18:17 | 41:40 | 31:19 | |
| 46 | Leon Gazet Du Chattelier | 40-44 | 1:18:22 | 37:05 | 36:04 | |
| 47 | Cebolenkosi Mchunu | 25-29 | 1:18:26 | 35:56 | 37:28 | |
| 48 | Siyabonga Buthelezi | 30-34 | 1:18:26 | 41:24 | 31:17 | |
| 49 | Jordaan Bruwer | 35-39 | 1:18:58 | 41:04 | 31:35 | |
| 50 | Matthew Dent | 16-24 | 1:19:03 | 40:10 | 34:06 | |
| 51 | Nicholas Affat | 30-34 | 1:19:21 | 38:59 | 34:56 | |
| 52 | Stuart Hofmeyr | 25-29 | 1:19:27 | 42:37 | 31:31 | |
| 53 | Nduduzo Khawula | 30-34 | 1:19:30 | 37:06 | 36:49 | |
| 54 | Eric Philpott | 40-44 | 1:19:31 | 41:17 | 32:32 | |
| 55 | Gilad Janet | 16-24 | 1:19:33 | 37:45 | 37:15 | |
| 56 | Bernhard Beukman | 30-34 | 1:19:58 | 36:01 | 38:26 | |
| 57 | Daniel Robinson | 25-29 | 1:20:02 | 39:39 | 34:19 | |
| 58 | Dewald Keulder | 30-34 | 1:20:03 | 38:12 | 36:27 | |
| 59 | Thomas Lee | 35-39 | 1:20:08 | 42:22 | 32:55 | |
| 60 | Corne Du Toit | 35-39 | 1:20:22 | 40:16 | 34:57 | |
| 61 | Christopher Lipawsky | 30-34 | 1:20:42 | 42:52 | 32:55 | |
| 62 | Steve Goeieman | 40-44 | 1:20:52 | 42:07 | 33:29 | |
| 63 | Tim Ferguson | 16-24 | 1:20:53 | 42:48 | 31:29 | |
| 64 | Anrich Moulder | 30-34 | 1:20:54 | 42:55 | 32:26 | |
| 65 | Romio Karam | 30-34 | 1:20:55 | 37:58 | 38:07 | |
| 66 | Mathieu Laby | 35-39 | 1:21:00 | 42:07 | 33:04 | |
| 67 | Christiaan Troskie | 35-39 | 1:21:04 | 38:09 | 37:34 | |
| 68 | Sipho Marima | 30-34 | 1:21:17 | 38:45 | 37:48 | |
| 69 | Ryan Nel | 35-39 | 1:21:25 | 40:14 | 34:44 | |
| 70 | Ben Murray | 25-29 | 1:21:27 | 40:54 | 34:51 | |
| 71 | Fernando Silva | 50-54 | 1:21:42 | 35:43 | 40:43 | |
| 72 | Takudzwa Marewangepo | 25-29 | 1:21:48 | 41:20 | 35:12 | |
| 73 | Stefan Stofberg | 25-29 | 1:21:49 | 42:52 | 33:19 | |
| 74 | Duncan Carmichael | 55-59 | 1:22:03 | 45:10 | 31:38 | |
| 75 | Julio Lindveld | 35-39 | 1:22:08 | 41:38 | 34:34 | |
| 76 | Garreth Mclellan | 40-44 | 1:22:14 | 39:05 | 36:47 | |
| 77 | Justin Simmons | 50-54 | 1:22:31 | 41:33 | 33:55 | |
| 78 | Matthew Botha | 30-34 | 1:22:40 | 42:45 | 33:40 | |
| 79 | Rohan Jansen | 35-39 | 1:23:03 | 46:39 | 30:38 | |
| 80 | Tim Wilson | 45-49 | 1:23:10 | 41:11 | 36:48 | |
| 81 | Anthony Raynard | 35-39 | 1:23:19 | 37:43 | 39:39 | |
| 82 | Shane Berkowitz | 40-44 | 1:23:44 | 44:59 | 32:35 | |
| 83 | Oliver Dobinson | 30-34 | 1:23:53 | 45:29 | 32:24 | |
| 84 | Kevin Eagleton | 35-39 | 1:24:06 | 39:15 | 37:42 | |
| 85 | Ryan Mitchell | 45-49 | 1:24:13 | 39:46 | 39:12 | |
| 86 | Darren Sanders | 30-34 | 1:24:15 | 39:41 | 38:27 | |
| 87 | Andres Saravia | 16-24 | 1:24:33 | 44:43 | 33:24 | |
| 88 | Sithembiso Motha | 30-34 | 1:24:45 | 39:32 | 38:31 | |
| 89 | Rainer Summers | 40-44 | 1:24:50 | 41:14 | 37:59 | |
| 90 | Garth Sammons | 40-44 | 1:24:56 | 42:02 | 36:33 | |
| 91 | Rae Trew-Browne | 40-44 | 1:25:21 | 43:10 | 36:58 | |
| 92 | Tim Douglas | 30-34 | 1:25:46 | 43:15 | 36:45 | |
| 93 | Zaakir Bhikha | 25-29 | 1:25:54 | 41:01 | 39:52 | |
| 94 | Ricardo Pillay | 35-39 | 1:25:59 | 36:53 | 42:20 | |
| 95 | Willie Smit | 45-49 | 1:26:16 | 43:06 | 35:13 | |
| 96 | Justin Seymour | 35-39 | 1:26:24 | 39:56 | 38:28 | |
| 97 | Matthew Easton | 16-24 | 1:26:51 | 48:42 | 31:54 | |
| 98 | Devilliers Visser | 16-24 | 1:26:54 | 42:11 | 38:47 | |
| 99 | Katlego Phage | 35-39 | 1:26:56 | 40:19 | 39:03 | |
| 100 | Peter Wilson | 40-44 | 1:27:27 | 40:27 | 39:11 | |
| 101 | Jason Sullivan | 30-34 | 1:27:40 | 42:04 | 38:45 | |
| 102 | Sizwe Ngema | 35-39 | 1:27:49 | 44:20 | 37:57 | |
| 103 | Awanda Madlala | 25-29 | 1:27:49 | 41:17 | 39:53 | |
| 104 | Imraan Mia | 40-44 | 1:28:04 | 45:50 | 34:40 | |
| 105 | Kelvinne Mocke | 30-34 | 1:28:09 | 43:58 | 37:35 | |
| 106 | Deon Wessels | 50-54 | 1:28:11 | 43:01 | 39:11 | |
| 107 | Reece Clark | 16-24 | 1:28:21 | 42:28 | 39:28 | |
| 108 | Leigh Lisk | 55-59 | 1:28:51 | 45:20 | 38:25 | |
| 109 | Louis Du Toit | 30-34 | 1:28:52 | 50:26 | 31:29 | |
| 110 | Andrew Alexander | 40-44 | 1:29:02 | 43:46 | 38:43 | |
| 111 | Bhavik Ganda | 35-39 | 1:29:19 | 37:04 | 46:51 | |
| 112 | Samkelo Magwaca | 35-39 | 1:29:24 | 44:36 | 38:46 | |
| 113 | Henre Lategan | 25-29 | 1:29:31 | 46:31 | 37:05 | |
| 114 | Bernard Bravenboer | 35-39 | 1:29:35 | 39:45 | 43:29 | |
| 115 | Wouter Niemeijer | 35-39 | 1:30:03 | 45:13 | 37:53 | |
| 116 | Byron Louw | 30-34 | 1:30:11 | 43:32 | 39:16 | |
| 117 | Haamid Ramjam | 30-34 | 1:30:41 | 49:11 | 35:16 | |
| 118 | Samkelo Masondo | 30-34 | 1:30:42 | 50:27 | 33:31 | |
| 119 | Sammy Mashita | 45-49 | 1:30:49 | 43:35 | 39:42 | |
| 120 | Sabelo Sithebe | 35-39 | 1:30:56 | 47:21 | 37:06 | |
| 121 | Michael Miller | 40-44 | 1:31:13 | 45:09 | 36:59 | |
| 122 | Grant Kennedy | 40-44 | 1:31:34 | 46:48 | 38:11 | |
| 123 | Andrew Kenny | 40-44 | 1:31:37 | 48:06 | 36:18 | |
| 124 | Raj Rawjee | 50-54 | 1:31:43 | 41:54 | 43:08 | |
| 125 | David Anderson | 45-49 | 1:31:43 | 44:48 | 38:59 | |
| 126 | Lior Janet | 16-24 | 1:32:01 | 44:09 | 41:32 | |
| 127 | Amadu Kamara | 25-29 | 1:32:10 | 48:31 | 37:05 | |
| 128 | Kinan Cara | 25-29 | 1:32:20 | 43:47 | 41:25 | |
| 129 | Arnold Ruben Helmut Hohls | 25-29 | 1:32:33 | 45:04 | 36:27 | |
| 130 | Phillip Meyer | 30-34 | 1:32:42 | 45:21 | 36:55 | |
| 131 | Owen Botha | 16-24 | 1:33:07 | 50:27 | 33:05 | |
| 132 | Matthew Wynne | 35-39 | 1:33:50 | 49:05 | 36:29 | |
| 133 | Kanyiso Nqabeni | 45-49 | 1:34:01 | 50:53 | 35:53 | |
| 134 | Derek Harvey | 30-34 | 1:34:47 | 50:05 | 38:51 | |
| 135 | Tyrone Johnson | 45-49 | 1:34:49 | 48:56 | 38:51 | |
| 136 | Ambrose Bates | 45-49 | 1:34:53 | 48:22 | 39:10 | |
| 137 | Maritz Jooste | 40-44 | 1:34:55 | 52:55 | 35:31 | |
| 138 | Dan Warren | 25-29 | 1:34:59 | 47:34 | 40:06 | |
| 139 | Rich Cave | 55-59 | 1:35:11 | 51:16 | 36:17 | |
| 140 | Tashreeq Ely | 25-29 | 1:35:17 | 46:41 | 39:36 | |
| 141 | Martin Loots | 50-54 | 1:35:23 | 42:25 | 47:06 | |
| 142 | Rudy Hanse | 35-39 | 1:35:27 | 48:54 | 39:30 | |
| 143 | Zubair Fortune | 35-39 | 1:35:45 | 51:01 | 38:21 | |
| 144 | Riyaad Baderdien | 30-34 | 1:35:58 | 49:36 | 34:24 | |
| 145 | Helgaard Jordaan | 50-54 | 1:36:05 | 46:27 | 42:21 | |
| 146 | Chad Thomas | 25-29 | 1:36:27 | 46:16 | 43:39 | |
| 147 | Matthew Turner | 16-24 | 1:36:31 | 47:20 | 41:39 | |
| 148 | Dwayne Williams | 35-39 | 1:37:06 | 50:04 | 40:18 | |
| 149 | Erik Smit | 45-49 | 1:37:11 | 49:55 | 37:30 | |
| 150 | Tristan Harris | 16-24 | 1:37:24 | 46:20 | 43:22 | |
| 151 | Lonwabo Rarane | 30-34 | 1:37:31 | 44:12 | 46:48 | |
| 152 | Tiri Towindo | 55-59 | 1:37:36 | 44:14 | 47:03 | |
| 153 | Marc Edery | 50-54 | 1:37:39 | 47:55 | 41:43 | |
| 154 | Shadreck Chimbetete | 40-44 | 1:37:54 | 48:35 | 39:53 | |
| 155 | Thamiso Dlamini | 30-34 | 1:38:09 | 51:34 | 38:31 | |
| 156 | Sifiso Ndumo | 30-34 | 1:38:22 | 48:22 | 43:49 | |
| 157 | Mfundho Xivambu | 25-29 | 1:39:34 | 44:19 | 45:25 | |
| 158 | Matthew Winter | 30-34 | 1:39:41 | 45:51 | 45:38 | |
| 159 | Benje Viljoen | 16-24 | 1:39:45 | 50:15 | 39:21 | |
| 160 | Muneer Bham | 35-39 | 1:39:58 | 46:41 | 45:51 | |
| 161 | David Francis | 55-59 | 1:40:15 | 52:12 | 41:27 | |
| 162 | Kevin Manduwi | 40-44 | 1:40:29 | 47:22 | 44:15 | |
| 163 | Sobhuza Nkosi | 35-39 | 1:40:58 | 51:12 | 42:13 | |
| 164 | Regan Greenshields | 16-24 | 1:41:05 | 49:44 | 44:58 | |
| 165 | Andrew Mostert | 30-34 | 1:41:17 | 52:41 | 39:43 | |
| 166 | Swunhtat Oo | 25-29 | 1:41:28 | 56:17 | 37:52 | |
| 167 | Thabiso Mathobela | 45-49 | 1:41:32 | 48:44 | 45:06 | |
| 168 | Nathan Moore | 25-29 | 1:41:38 | 48:46 | 42:46 | |
| 169 | Jurrien Muller | 16-24 | 1:41:58 | 50:36 | 42:20 | |
| 170 | Vladimir Poluektov | HYROX | 30-34 | 1:42:00 | 52:04 | 37:46 |
| 171 | Jaco Hough | 55-59 | 1:42:31 | 51:13 | 44:30 | |
| 172 | Graham Parker | 50-54 | 1:42:36 | 43:46 | 51:41 | |
| 173 | Mark Groenewald | 45-49 | 1:42:39 | 57:02 | 37:31 | |
| 174 | Robert Schouten | 30-34 | 1:42:49 | 54:32 | 40:17 | |
| 175 | Alex Biaya | 25-29 | 1:43:46 | 54:03 | 43:20 | |
| 176 | Kyle Young | 40-44 | 1:43:55 | 51:39 | 44:44 | |
| 177 | Ricky Lin | 35-39 | 1:44:05 | 54:14 | 42:13 | |
| 178 | Jean-Claude Fernandes | 25-29 | 1:44:26 | 52:07 | 43:52 | |
| 179 | Lelo Mtshali | 35-39 | 1:45:51 | 55:09 | 41:51 | |
| 180 | Justin Taylor | 40-44 | 1:45:56 | 52:55 | 44:38 | |
| 181 | Khayalethu Motsa | 16-24 | 1:46:04 | 52:57 | 46:15 | |
| 182 | Thando Bakumeni | 35-39 | 1:46:07 | 52:32 | 45:24 | |
| 183 | Sechaba Mooi | 40-44 | 1:46:15 | 52:33 | 43:32 | |
| 184 | Matthew Wilson | 35-39 | 1:46:48 | 50:43 | 46:42 | |
| 185 | Israel Sanza | 30-34 | 1:47:47 | 54:51 | 43:00 | |
| 186 | Ryan Green | 35-39 | 1:48:24 | 51:25 | 47:04 | |
| 187 | Jacques Du Toit | 40-44 | 1:48:36 | 53:46 | 45:41 | |
| 188 | Muhammad Ismail | 25-29 | 1:48:40 | 55:35 | 43:10 | |
| 189 | Andrew Robinson | 45-49 | 1:48:53 | 50:52 | 50:09 | |
| 190 | Mitesh Patel | 35-39 | 1:49:20 | 47:10 | 56:21 | |
| 191 | Richard Hardie | 45-49 | 1:49:49 | 50:43 | 50:43 | |
| 192 | Shaun Pyper | 30-34 | 1:50:09 | 55:41 | 43:56 | |
| 193 | Ryan Cross | 35-39 | 1:50:14 | 50:26 | 51:57 | |
| 194 | Iain Marsden | 25-29 | 1:50:36 | 54:05 | 48:47 | |
| 195 | Vincent Ricketts | 55-59 | 1:50:59 | 48:41 | 53:55 | |
| 196 | Kieran Woest | 16-24 | 1:51:33 | 48:54 | 53:17 | |
| 197 | Glen Ah Sing | 50-54 | 1:51:57 | 52:57 | 51:07 | |
| 198 | Keaton Harris | 30-34 | 1:52:09 | 55:30 | 47:48 | |
| 199 | Kyle Stokes | 35-39 | 1:52:51 | 1:06:57 | 37:41 | |
| 200 | Mark Whiteman | 45-49 | 1:52:56 | 53:20 | 50:01 |