Faf du Plessis, with his maiden one-day international hundred, and captain AB de Villiers, with an 18th ton for his country in the 50-over game, led the South Africa run rush in Harare.
They won with 20 balls to spare in the end, racing to 328 for three despite the early concern of seeing openers Quinton de Kock, out for 19, and Hashim Amla, dismissed for 24, removed rather cheaply.
It seemed that Australia, having ended their innings of 327 for six with a flourish that included two sixes from the bat of Mitchell Johnson in a 20-run final over, were ready to take charge of the contest.
They had culled South Africa to 51 for two after nine overs. But Du Plessis, with a 98-ball 106, and De Villiers, who plundered a Herculean 136 not out while suffering physically, took the game away from them and brought victory within sight.
Du Plessis, whose highest score in 50 previous ODI appearances had been a modest 72, fell to end a 206-run third-wicket partnership with the team total at 257. He gamely took on a Mitchell Starc bouncer and was caught by the boundary.
The rare wicket provided the final drama in a 14-run 38th over in which Du Plessis and his batting partner brought up their centuries with boundaries.
De Villiers had by that stage survived two big chances, first in the 35th over when he offered Johnson a caught-and-bowled chance that the bowler kindly put down, and eight balls later when he picked out George Bailey who was equally wasteful.
South Africa pressed on after losing Du Plessis and required just 55 runs from the final 10 overs, with seven wickets in hand. They stayed in hand, and the required run-rate became increasingly favourable as South Africa pinched ones and twos to supplement a string of boundaries.
De Villiers was being bothered by cramp in a hamstring but he pressed on, and the writing was on the wall for the Australians when JP Duminy hoisted a delivery from Kane Richardson for a six down the ground.
A wide from James Faulkner brought the sides level, and a single from Duminy, who had breezed to 33 not out, sealed the win.
It meant Australian opener Aaron Finch's fourth ODI hundred - all scored in the last 12 months - essentially went to waste.
He amassed 102, with opening partner Phil Hughes weighing in with 51 and Bailey powering to 66 from 54 deliveries, before Johnson floored the accelerator late on with his unbeaten 23 in eight balls.
Australia had enjoyed a crushing 198-run win over hosts Zimbabwe in the opening fixture of the series on Monday, but South Africa were a different class of opponent who took apart their bowling attack. Hosts Zimbabwe are next for the ominous-looking Proteas, on Friday.
- Sports & Recreation
- South Africa
- AB de Villiers
- Mitchell Johnson
- Faf du Plessis