The Englishman entered the final day at Gary Player Country Club three shots behind long-time leader Sergio Garcia but an eagle on the second put him at the top of the leaderboard and set up an enthralling three-way battle between those two and local favourite Louis Oosthuizen.
The heavyweight trio went blow-for-blow on one of the most entertaining afternoons of the season and it was former World Number One Westwood who birdied five of his last eight holes to get to 15 under and prevail over his Major Championship winning rivals.
Spaniard Garcia signed for a 70 to finish at 12 under, one shot ahead of Oosthuizen who closed with a 69.
England's Ross Fisher was then at eight under, a shot clear of countryman Matt Wallace and China's Li Haotong.
Li needed a win to keep his hopes of winning the Race to Dubai alive but results in Sun City mean that it will be either Francesco Molinari or Tommy Fleetwood who will be crowned Europe's Number One after next week's season-ending DP World Tour Championship, Dubai.
Westwood's triumph is his third at Gary Player Country Club after the Sunshine Tour's Dimension Data Pro-Am in 2000 and this event in 2010 and 2011 before it joined the European Tour International Schedule.
The 45 year old's last victory came at the 2014 Maybank Malaysian Open and he was fighting back the tears after taking his tally to a remarkable 24 on the European Tour and 43 worldwide.
“I'm a bit emotional, to be honest,” he said. “You're never sure whether you're going to be able to do it again.
“Until now my emotions have felt really under control all day which is what I've been working hard on. I was just trying to hit fairways and stick to my game-plan and hit it in the right places.
“I've got a bit of a process that I'm going through with my golf swing and I'm starting to see better shots. The seven iron into 17 is probably one of the best shots I've ever hit.”
Garcia bogeyed the first after finding sand and when Westwood hit a stunning second to four feet on the par-five second for an eagle, he had a share of the lead.
Oosthuizen had a wonderful day with the putter and long putts on the third and fifth gave him the lead before Garcia joined him when he almost holed his second on the sixth.
The 2010 Open Champion made a 20-footer on the seventh but ahead on the eighth Westwood hit a stunner to eight feet and an Oosthuizen three-putt on the same hole made it a three-way tie again.
A birdie on the par-five ninth put Oosthuizen back ahead but Garcia made the most of the par-five next and Westwood holed from 12 feet at the 11th to maintain the deadlock.
Oosthuizen joined Garcia in birdieing the tenth and a 30-footer on the next gave him a two-shot lead but Westwood holed from the fringe on the 13th and Garcia almost a made a hole-in-one on the 12th.
An Oosthuizen bogey on the 12th made it a three-way tie again but he birdied the 13th after getting a nice bounce and when Westwood holed from the fringe on the par-five 14th, the two were at 13 under.
Oosthuizen birdied the 14th after getting on the green in two but Westwood holed from 18 feet on the 16th and he led on his own when the South African three-putted from the first cut on the 15th.
Westwood then hit a brilliant approach to 12 feet on the 17th to lead by two and Oosthuizen went a long way left and double-bogeyed the last as Garcia finished with six pars.
Fisher - who dropped eight shots in his last four holes on Friday - carded a closing 70 while Li finished with a 65 and Wallace recorded a 67.
Belgian Thomas Detry finished at six under, one clear of England's Aaron Rai and two ahead of another Englishman in Chris Paisley and South African Darren Fichardt.