The world No 44 fired a bogey-free 66 at Gary Player CC to edge ahead of playing partners Scott Jamieson and Victor Dubuisson, who all had spells top of the leaderboard during the final round.
Grace began the day three strokes off the pace but fired six birdies in a flawless display in Sun City, with overnight leader Jamieson a shot back on 10 under and Dubuisson a further stroke adrift.
Dubuisson moved alongside Jamieson with a four-foot birdie at the first, only for the Scot to edge back ahead by matching Grace's gain at the par-five next.
Grace closed the gap to two by rolling in from 10 feet at the fifth and all three of the final group picked up a shot at the sixth, before Jamieson double-bogeyed the eighth to hand Dubuisson the advantage.
Reaching the turn one ahead, Dubuisson joined his playing partners in posting a two-putt gain at the 10th, but lost his lead when he failed to match Grace and Jamieson's birdies at the par-five 14th.
The Frenchman slipped out of a three-way tie for the lead with a blemish at the 15th, as Grace drained a 40-footer at the par-three next to jump top of the leaderboard.
Grace found the heart of the green and two-putted for par to close out a first worldwide victory since April 2016.