Världens nummer 50 sköt en sista dag två-under i Malelane för att vinna med fyra skott från Frankrikes Gregory Bourdy.
Schwartzel, 31, ledde fransmannen Benjamin Herbert, som halkade till tredje, med tre slag på väg in i den fjärde omgången där han kortade en andra på varandra följande 70.
Englands Matt Ford var den högsta Briton, bunden i femte.
Schwartzel, 2011 Masters mästare, var missnöjd med sin runda på lördag och var tvungen att återhämta sig från en bogey på tredje på söndag.
Han smög igen på åttonde plats på Leopard Creek Country Club, men fyra fåglar såg till att han höll tillbaka en rebell Bourdy.
"Det är en ära att spela här," Schwartzel berättade för European Tour webbplats.
"Jag visste att jag skulle behöva skjuta minst två eller tre under på baksidan nio för att ge mig själv en bra chans att vinna och jag är mycket nöjd med det."
Det innebar att Schwartzel blev den tredje sydafrikanen att vinna 10 europeiska Tour evenemang, tillsammans med Ernie Els och Retief Goosen, och den yngsta att göra det före Els.
Tävlingen markerade starten på 2016 års Europaturné.
Charl Schwartzel fick en fjärde Alfred Dunhill Championship titel i 11 år när han slutade 15 under par i sitt hemland Sydafrika på söndag.