The Swede finished with a 1-under 71 for a 17-under total of 271 and his first victory since the 2009 Players Championship. It was also Stenson's first win on the European Tour in five years.
"2011 was a tough year with not much good going on on the course for me," Stenson said. "I felt I was getting closer and closer and obviously I'm delighted to get a win before the end of the year. When it takes that long between wins, you wonder if there is going to be a next one."
George Coetzee was second on 14 under after the South African's challenge never really got going in the final round.
Having put himself in contention for a maiden European title with a course-record 63 on Saturday, Coetzee eagled the par-5 3rd on Sunday. But he could only manage two more birdies and had three bogeys for a 71.
Stenson carded four birdies — crucially two of them in the last three holes — and that was enough for a long-awaited victory despite a wobble midway through his round. He made bogey on the 6th and a double-bogey five on the short 9th after dumping his tee shot into the water.
He is only the second foreign player to win the South African Open title in the last decade and sealed his place at the season-ending World Tour Championship in Dubai after entering this tournament at No. 59 on the money list. The top 60 go to Dubai next weekend.
"It was great that I came down here from the U.S.," he said. "One of the big reasons was that I was 59th, so I needed a good week."
To cap his good week, the 36-year-old Stenson collected a little over $200,000 for the win.
Former top-ranked player Martin Kaymer ended with a 67 for a share of third at 13 under with Thomas Aiken. The German finished strongly at Serengeti Golf and Wildlife Estate, going 9 under through the weekend for a solid return on his South African Open debut.
Charl Schwartzel also signed off with a 67, erasing some of the memories of his 74 on Saturday and giving the former Masters Champion something to take to Dubai after a tough season. He finished fifth outright on 11-under 277, two strokes behind Kaymer and Aiken.
England's Tommy Fleetwood (69), home player Darren Fichardt (73) and another Swede, Magnus Carlsson (76), finished in a tie for sixth at 9 under.
Defending champion Hennie Otto saved his best for last, ripping around Serengeti in 62 to break Coetzee's one-day-old course record. Otto was brilliant with eight birdies and an eagle for his 10-under-par round to launch him up to a share of ninth.
Enjoying a breakthrough year on the tour since winning back his card, Branden Grace couldn't match his form overseas at home and shot 78 and 79 over the weekend for 8 over and 65th place.