Branden Grace holed a stunning 40-foot putt on the 16th green to claim a home win at the Nedbank Golf Challenge hosted by Gary Player.
The South African entered the final round in Sun City three shots behind Scott Jamieson, but a closing bogey-free 66 moved him to 11 under and handed him a one-shot victory over the Scot, who signed for a 70.
Frenchman Victor Dubuisson also recorded a 70 to finish at nine under.
Grace took advantage of the par-5 second and hit excellent approaches to birdie the fifth and sixth, but was a shot behind Dubuisson at the turn.
The 29-year-old continued to make the most of the par-5s and gains on the 10th and 14th put him in a three-way tie at the top before he made that crucial putt to take the title and complete a momentous week when he also found out his wife was having a baby boy.
“It’s a dream come true to win at Sun City and to win Africa’s major,” he said. “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.”
It’s a dream come true to win at Sun City and to win Africa’s majorBranden Grace
China’s Li Haotong posted the lowest round of the week with a 64 to finish seven under, a shot ahead of two-time major winner Martin Kaymer and two clear of Worksop’s Lee Westwood and South African Darren Fichardt.
Sheffield’s Matthew Fitzpatrick was at four under, a shot ahead of fellow Englishmen Tommy Fleetwood and Graeme Storm.
A win this week would have seen Fleetwood take the Race to Dubai title and he now heads to the season-ending DP World Tour Championship in Dubai with an extended lead at the top of the standings and the knowledge that only countryman Justin Rose and Masters champion Sergio Garcia can catch him.