Sterne never looked in real danger after overnight joint-leader Trevor Fisher Jr saw his challenge collapse with a one-over-par final round.
Fisher, starting early due to the threat of bad weather, opened with an eagle on the par-five first, but faltered from then on while Sterne remained consistent. The latter collected five birdies to head into the turn at 24-under par.
The South African was second to Stephen Gallacher in Dubai last week and his £176,242 victory at the Royal Johannesburg & Kensington Golf Club put him into the world top 64, good enough to qualify for the Accenture Match Play Championship in Arizona.
In what proved a close race for second place, Johannesburg native Schwartzel shot eight birdies in his 66 to finish on 20-under 267.
A day's equal best, an eight-under 64 from Portugal's Ricardo Santos, saw him finish a shot further back in a tie for third with South African George Coetzee and Felipe Aguilar of Chile.
Garth Mulroy, Brandon Pieters and Keith Horne had all been in contention at the turn, but were unable to maintain their birdie runs over the back nine.
Scotland's David Drysdale remained the best-placed British golfer, tied for 11th after dropping a costly shot on 16 having opened up with five birdie on the front nine.
• FIFTEEN-year-old Lydia Ko became the youngest player to win a Ladies European Tour event and the first home winner in the ISPS Handa NZ Women's Open in New Zealand.
Ko made a three foot putt on the final hole to take victory in Christchurch, her third professional win in only 12 tournaments.
"I didn't cry at the Canadian Open so I don't know why I cried here," said Ko afterwards.
"I guess it meant more. It is our national open so to win means a lot. I am not the person who shows expression of feeling but I guess the tears showed it."
"This win is at the top," she added.