Set a target of 124/6 for victory, the Aussies survived a slight wobble early on before a superb fourth-wicket partnership between Tahlia McGrath and Ash Gardner put them on the brink of victory.
McGrath was the main destroyer, smashing 57 off 33 balls to snuff out any chance the South Africans had of defending their modest total.
South Africa must now beat Bangladesh in their final pool match in Cape Town on Tuesday, although Sri Lanka can knock them out if they beat New Zealand in Paarl on Sunday.
The hosts had given themselves a sniff of forcing a result after knocking over the Australian top three.
Marizanne dismissed Ellyse Perry caught behind before also trapping Beth Mooney plumb in front.
Nonkululeko Mlaba then sent the dangerous Meg Lanning packing as well, but then was McGrath and Gardner took control, with Kapp and Mlaba lacking support from the rest of the attack.
Earlier, the Proteas women were sent in to bat after losing the toss, making a solid start before suffering a mid-innings collapse that prevented them from really pushing on.
An opening partnership of 54 in nine overs between Laura Wolvaardt and Tazmin Brits laid a solid platform but once Ellyse Perry got the breakthrough by getting Wolvaardt caught behind for 18, the innings soon lost its momentum.
Marizanne Kapp departed for a duck, but it was the following over from Australia leg-spinner Georgia Wareham that really put the Proteas back, as she bowled Brits for 45 before also dismissing Chloe Tryon a few balls later.
From that point on, the Proteas women were able to stop the wickets from tumbling - but at the cost of their run rate.
They lost just two further wickets in their innings, with Sune Luus adding 20 off 24 and Nadine Klerk adding a quickfire 14.
Brits was the stand-out performer for South Africa with six fours and a six in her 36-ball innings of 45.