Branden Grace carded a blemish-free 66 to claim his eighth European Tour title with victory on home soil at the Nedbank Golf Challenge.
The South African, who shot a 75 in tough conditions on Friday, prevailed in a tight battle among the last group on the course, edging out Scott Jamieson by one stroke.
Victor Dubuisson was a shot further back from Grace's winning total of 11 under, while Li Haotong's stunning 64 saw the Chinese shoot up to fourth.
Grace climbs to ninth in the Race to Dubai standings, which are led by Tommy Fleetwood, who finished in a tie for 10th in Sun City.
The Englishman heads to DP World Tour Championship as firm favourite to triumph, with only Justin Rose and Sergio Garcia able to overhaul him.
The first South African to win this event since 2007. pic.twitter.com/DsuLLionaf— The European Tour (@EuropeanTour) November 12, 2017
Sunday's final round featured some superb golf, particularly from the last trio out on the course at Gary Player Country Club, along with the impressive Li.
Grace found all 18 greens in regulation as he became the first home winner at the event in a decade, while Li's card showed six birdies on the front nine.
The lead changed hands several times, with Jamieson's hopes dealt a huge blow when he picked up a double-bogey six at the eighth.
Birdies on 14 and 16 proved pivotal for Grace, with Dubuisson dropping a shot in between those two holes to put the 29-year-old in the ascendancy.
Grace, who carded the lowest round in major history with his 62 at the Open in July, held his nerve to sink a clinching par putt on the last to prompt joyous celebrations.
"This is awesome," said the champion, as quoted by the European Tour website. "This is the one event that as a South African you want to win. It's Africa's Major for a reason and what a special place it is.
"There's a lot of history and a lot of great winners on the trophy and I'm very glad to be able to put my name on the trophy as well.
"I had to stay patient and I had to take the chances when they came my way. I missed a couple of short ones but I think the big key was the putt on 16."
|Cubs bested by Harvey, Yankees sweep Mariners|
|Spurs GM: We´ll do what we can to keep Leonard|
|Lovren: This Croatia team are better than 1998 heroes|
|Internationals Musa, Okobo selected in NBA Draft|
|Modric is the world´s best number 10 – Arbeloa|
|Kurz stay crucial to Jakobsen´s Adelaide move|
|Nuggets end Porter´s slide at number 14|
|Argentina were crying like girls – Vrsaljko|
|Cavaliers select Sexton with number eight overall pick|
|Argentina must ´pray´ results go their way, says Mascherano|
|Grizzlies select Jackson with number four pick|
|Hawks select Doncic with third pick, trade him to Mavericks|
|Kings take Bagley with number two pick|
|Suns select Ayton number one overall in NBA Draft|
|Argentina concerns grow as Dalic vows to rest players against Iceland|
|Messi could retire after World Cup, says Zabaleta|
|Spieth, McIlroy off to hot starts at Travelers Championship|
|Let Sampaoli say what he wants - Aguero angry at Argentina loss|
|Perisic: Messi is the best, but Argentina do not play as a team|
|Dominant England are ´spoiled´ by options, says Morgan|
|Argentina squad ´clouds´ Messi´s brilliance, claims Sampaoli|
|Fagner to start for Brazil due to Danilo injury|
|Arzani lauds leader Jedinak and remains confident on last-16 chances|
|Croatia cut Messi off in Argentina thrashing - Modric|
|Pogba: Kante, Matuidi have 15 lungs|
|Julian Nagelsmann: the Bundesliga prodigy swapping Hoffenheim for RB Leipzig|
|England dominate in Durham to close in on series whitewash|
|´Fortunate´ Federer closes in on Halle title|
|Calamity Caballero and Sampaoli tinkerings leave Argentina a broken mess|
|Wimbledon champion Muguruza confident despite Birmingham defeat|
|Argentina 0 Croatia 3: Caballero drops clanger as Messi´s men are stunned|
|Funes Mori departs Everton to join Villarreal|
|Djokovic beats Dimitrov as Kyrgios lays down a marker|
|Relegated Verona appoint World Cup winner Grosso|
|Trotz named Islanders´ new coach|
|Matic and Serbia ready for ´hellish´ Switzerland clash|
|Fleetwood flounders as Gros takes Pulheim lead|
|No attacks on Neymar, pledges Costa Rica boss Ramirez|
|Giroud return brings structure to France, but again they disappoint|
|Brighton sign Sunderland goalkeeper Steele|
|Schmeichel and Eriksen blast ´exceptionally harsh´ VAR penalty|
|Nigeria´s young World Cup squad learning on the job - Rohr|
|Moody: England players need protection|
|France 1 Peru 0: Mbappe books last-16 spot with record goal|
|I don´t need anyone to hold my hand - Verstappen|
|Captaincy comes back around to Silva as 2014 pain fades|
|We don´t want to be losers - Petkovic|
|Alba not interested in Barcelona exit as Tottenham rumours swirl|
|BREAKING NEWS: Nagelsmann to take RB Leipzig role in 2019|
|Messi cannot be compared to Maradona, claims Argentina World Cup winner Kempes|
|Mbappe sets France record with maiden World Cup strike|
|Federer comes through tough Halle test|
|Nagelsmann to leave Hoffenheim amid RB Leipzig rumours|
|Gerrard brings former Liverpool team-mate Flanagan to Rangers|
|Cipriani to be ´the calmest guy in the room´ on England return|
|C´est magnifique! Lloris earns 100th France cap|
|Belgium v Tunisia: Hazard hoping for World Cup lift off|
|WATCH: Manchester United ditch piano to welcome Fred the red|
|Hamann springs to defence of Ozil|
|Alonso non-committal on future after Le Mans triumph|
|McInally returns to Scotland starting line-up|
|Giroud & Matuidi start as Deschamps drops Dembele for Peru|
|Torreira focused on Uruguay amid Arsenal links|
|NBA Mock Draft 2018: Deandre Ayton leads intriguing first round|
|Tite will not take away Neymar´s ´genius´|
|Australia show promise but calls for Cahill ignored amid lack of cutting edge|
|Manchester United means greatness - Fred aiming for titles following Old Trafford switch|
|Denmark 1 Australia 1: Jedinak strikes back after Eriksen rocket|
|Neymar not being put at risk by Brazil, says Tite|
|Juventus complete signing of free agent Emre Can|