| 1 | DA SILVA Tiano | Melon Mobile RealPay Pro Cycling | 02:50:21.000 | - | 39.8 | 
| 2 | MAIN Kent | Fly Cool Collective | 02:50:37.000 | 16.000 | 39.738 | 
| 3 | TEKLEMARIAM Keven | As.Be.Co Cycling Club | 02:50:38.000 | 17.000 | 39.734 | 
| 3 | TEKLEMARIAM Keven | UCI WCC Men's Team | 02:50:38.000 | 17.000 | 39.734 | 
| 4 | BEULKER Justus |  | 02:50:38.000 | 17.000 | 39.734 | 
| 5 | JANSE VAN RENSBURG Reinardt | Team Tshenolo Pro Cycling | 02:50:38.000 | 17.000 | 39.734 | 
| 6 | KLOPPER Christiaan | Team Tshenolo Pro Cycling | 02:50:38.000 | 17.000 | 39.734 | 
| 7 | ENGELBRECHT Carlo | Team ASAP - WORLD | 02:50:38.000 | 17.000 | 39.734 | 
| 8 | AZIZ Mohab Youssef | SuezCanalDiscovery | 02:50:38.000 | 17.000 | 39.734 | 
| 9 | DOWNES Brandon | Melon Mobile RealPay Pro Cycling | 02:50:38.000 | 17.000 | 39.734 | 
| 10 | CLAASSEN Adian |  | 02:50:38.000 | 17.000 | 39.734 | 
| 11 | STERMIN Luca |  | 02:50:38.000 | 17.000 | 39.734 | 
| 12 | KLEINSMIT Jose |  | 02:50:38.000 | 17.000 | 39.734 | 
| 13 | WEBER Sascha |  | 02:50:38.000 | 17.000 | 39.734 | 
| 14 | HOFMEYR Reitz | Bellville Cycling Club | 02:50:41.000 | 20.000 | 39.723 | 
| 14 | HOFMEYR Reitz | Team On Track | 02:50:41.000 | 20.000 | 39.723 | 
| 15 | KHATIEB Faraz |  | 02:50:43.000 | 22.000 | 39.715 | 
| 16 | MOOLMAN Warren | Madar Pro Cycling Team | 02:50:47.000 | 26.000 | 39.699 | 
| 17 | ERASMUS Alexander Francois | Crabbé-Dstny U19 | 02:50:50.000 | 29.000 | 39.688 | 
| 18 | SALZWEDEL Zane | Team On Track | 02:51:01.000 | 40.000 | 39.645 | 
| 19 | RAKAOTA Khotsofalang |  | 02:51:11.000 | 50.000 | 39.607 | 
| 20 | NICHOLSON Rohnan | Gepla-Watersley R+D Road Cycling Team | 02:51:13.000 | 52.000 | 39.599 | 
| 21 | JOHANNES Willem |  | 02:51:13.000 | 52.000 | 39.599 | 
| 22 | VENTER Jaco |  | 02:51:26.000 | 1:05.000 | 39.549 | 
| 23 | MAHLANGU Thokozani |  | 02:51:39.000 | 1:18.000 | 39.499 | 
| 24 | GUMEDE Siyanda Mthobeleni |  | 02:51:42.000 | 1:21.000 | 39.487 | 
| 25 | LANGE Tyler |  | 02:51:44.000 | 1:23.000 | 39.48 | 
| 26 | CRONJE Danie |  | 02:51:46.000 | 1:25.000 | 39.472 | 
| 27 | RACOUPEAU Jean-Baptiste |  | 02:51:48.000 | 1:27.000 | 39.464 | 
| 28 | TYAPA Ongeziwe |  | 02:51:49.000 | 1:28.000 | 39.461 | 
| 29 | PURBROOK Barnabas |  | 02:51:49.000 | 1:28.000 | 39.461 | 
| 30 | LIEBENBERG Luke Owen |  | 02:51:56.000 | 1:35.000 | 39.434 | 
| 31 | BAMBA Drissa |  | 02:51:56.000 | 1:35.000 | 39.434 | 
| 32 | BRITTAIN Matthew |  | 02:51:57.000 | 1:36.000 | 39.43 | 
| 33 | MAKATILE Kabelo |  | 02:52:00.000 | 1:39.000 | 39.419 | 
| 34 | NOAH Alexis |  | 02:52:00.000 | 1:39.000 | 39.419 | 
| 35 | SHELLY David |  | 02:52:01.000 | 1:40.000 | 39.415 | 
| 36 | BOSCH Andrew |  | 02:52:01.000 | 1:40.000 | 39.415 | 
| 37 | MICHAEL Lobo |  | 02:52:02.000 | 1:41.000 | 39.411 | 
| 38 | KEALOTSWE Gomolemo |  | 02:52:02.000 | 1:41.000 | 39.411 | 
| 39 | METSING Omolemo |  | 02:52:32.000 | 2:11.000 | 39.297 | 
| 40 | SHELLY Gavin |  | 02:52:32.000 | 2:11.000 | 39.297 | 
| 41 | STRYDOM Willem Jacobus |  | 02:52:35.000 | 2:14.000 | 39.285 | 
| 42 | STEENKAMP Alwyn | Melon Mobile RealPay Pro Cycling | 02:52:35.000 | 2:14.000 | 39.285 | 
| 43 | ASCOTT George | Tsvaira Cycling Club | 02:52:36.000 | 2:15.000 | 39.282 | 
| 44 | DUPUY Samuel |  | 02:52:36.000 | 2:15.000 | 39.282 | 
| 45 | MCLOUGHLIN Connor |  | 02:52:36.000 | 2:15.000 | 39.282 | 
| 46 | HATIM Kagaba |  | 02:52:37.000 | 2:16.000 | 39.278 | 
| 47 | MASEMOLA Rodney | Team Tshenolo Pro Cycling | 02:52:44.000 | 2:23.000 | 39.251 | 
| 48 | DU PLOOY Rohan | Fly Cool Collective | 02:53:00.000 | 2:39.000 | 39.191 | 
| 49 | VERLINDE Bert |  | 02:53:15.000 | 2:54.000 | 39.134 | 
| 50 | DIALLO Tiémoko |  | 02:53:16.000 | 2:55.000 | 39.13 | 
| 51 | SAIZONOU J. Glorad |  | 02:53:23.000 | 3:02.000 | 39.104 | 
| 52 | GABRIEL Jahdel |  | 02:55:20.000 | 4:59.000 | 38.669 | 
| 53 | RAVLA Prateek |  | 02:55:20.000 | 4:59.000 | 38.669 | 
| 54 | OOSTHUIZEN Thys |  | 02:56:01.000 | 5:40.000 | 38.519 | 
| 55 | WILLIAMS KING Daniel | Team ASAP - WORLD | 02:57:04.000 | 6:43.000 | 38.291 | 
| 56 | WEITZ Lloyd |  | 02:57:07.000 | 6:46.000 | 38.28 | 
| 57 | JOOSTE Chris |  | 02:57:08.000 | 6:47.000 | 38.276 | 
| 58 | MARCIA Stefano | Team ASAP - WORLD | 02:57:17.000 | 6:56.000 | 38.244 | 
| 59 | SCHULTZ Imtiyaaz |  | 02:58:04.000 | 7:43.000 | 38.076 | 
| 60 | SYMM Matthew | WAC Team Hoboken | 02:58:38.000 | 8:17.000 | 37.955 | 
| 61 | SMIT Jonathan |  | 02:58:38.000 | 8:17.000 | 37.955 | 
| 62 | SWART James Andrew |  | 02:58:39.000 | 8:18.000 | 37.951 | 
| 63 | ROODT Keanan | Fly Cool Collective | 02:58:41.000 | 8:20.000 | 37.944 | 
| 64 | HAY Jared | Fly Cool Collective | 02:58:43.000 | 8:22.000 | 37.937 | 
| 65 | VENTER Derek |  | 02:59:46.000 | 9:25.000 | 37.716 | 
| 66 | HOARAU Christophe |  | 02:59:47.000 | 9:26.000 | 37.712 | 
| 67 | MOTTALINI Maurizio |  | 02:59:47.000 | 9:26.000 | 37.712 | 
| 68 | BOSHOFF Vickus |  | 02:59:55.000 | 9:34.000 | 37.684 | 
| 69 | DA CRUZ Kelson |  | 02:59:56.000 | 9:35.000 | 37.681 | 
| 70 | VAN HEMERT Dan |  | 03:00:18.000 | 9:57.000 | 37.604 | 
| 71 | SMYTH Ben |  | 03:00:24.000 | 00:10:03.000 | 37.583 | 
| 72 | COETZEE Kris |  | 03:00:43.000 | 00:10:22.000 | 37.517 | 
| 73 | SKOSANA Sibusiso |  | 03:00:57.000 | 00:10:36.000 | 37.469 | 
| 74 | GRONDIN Eddy Ferdinand |  | 03:01:03.000 | 00:10:42.000 | 37.448 | 
| 75 | AVENANT Pieter |  | 03:01:09.000 | 00:10:48.000 | 37.428 | 
| 81 | NEUMANN Horst | Hollard Insurance | 03:03:35.000 | 00:13:14.000 | 36.931 | 
| 83 | VAN STADEN Jacques |  | 03:04:38.000 | 00:14:17.000 | 36.721 | 
| 99 | NGUBANE Siyabonga |  | 03:29:06.000 | 00:38:45.000 | 32.425 |