Christiaan Bezuidenhout held off Welshman Jamie Donaldson's challenge to secure successive European Tour wins by claiming the South African Open.
Bezuidenhout fired a closing 69 to finish five shots clear of Donaldson.
Donaldson began the day five adrift of the South African but cut the deficit to two by the eight at Sun City.
But the 45-year-old's chip on the ninth lipped out and there was then a two-shot swing as he missed the par putt to fall three strokes behind again.
"It's a South African golfer's dream to win a national tournament. It's unreal," said Bezuidenhout, who also won the Alfred Dunhill Championship last week.
Donaldson, who claimed the winning point in Europe's Ryder Cup victory at Gleneagles in 2014, got into contention in the event with a second-round 63 that contained 10 birdies.