Kyle Abbott claimed a brilliant four-for as South Africa took a step closer to a one-day international series whitewash of Australia with a six-wicket victory in Port Elizabeth.
Abbott stepped up in emphatic fashion as the Proteas rested first-choice bowlers Dale Steyn, Kagiso Rabada and Imran Tahir by returning impressive figures of 4-40 from eight overs.
Tabraiz Shamsi (3-36), another beneficiary of South Africa's shuffled bowling attack, also ripped through Australia, who were skittled for 167 in just 36.4 overs.
A 23rd ODI fifty for Proteas captain Faf du Plessis (69) ensured the hosts reached their target comfortably and took a 4-0 lead with one match remaining at Newlands on Wednesday.
It took Abbott just three deliveries to strike, knocking down off stump to send Aaron Finch (2) walking, and he added the scalp David Warner (6) four balls later.
Mitchell Marsh (50) provided some resistance for the tourists, but a promising partnership with Steve Smith (21) was ended when Shamsi trapped the skipper leg before - the first of a record-equalling six lbws in an ODI innings.
Shamsi repeated the trick on Travis Head (0) two balls later, but the entrance of Matthew Wade (52) appeared to steady the ship.
Wade and Marsh began to pick out the boundary but after the latter brought up his half-century with a single off a shot to deep cover, he sent an outside edge off Abbott back to wicketkeeper Quinton de Kock, ending their 62-run partnership.
John Hastings (4) and Adam Zampa (5) faced a combined seven balls before falling to Shamsi and Abbott respectively.
Wade, who brought up his 10th ODI fifty with a maximum over square leg, and Scott Boland (0) were then accounted for by Aaron Phangiso (2-17) to bring a lacklustre innings to a close.
Chris Tremain (2-48) made early inroads for Australia by dismissing openers Hashim Amla (4) and De Kock (18), but the tourists had less luck when posed with Du Plessis and JP Duminy (25).
The Proteas captain was let off the hook when he was put down by Zampa (1-32) on 16, but the Australian atoned for his error by removing Duminy, breaking the 56-run stand.
Du Plessis maintained the composure and ability to pick the right shot that had served him so well, though, gradually working his way to a half-century.
The captain found the boundary eight times before finally falling to Marsh (1-22) when he was caught in the deep by Head.
However, Rilee Rossouw (33) and Farhaan Behardien (12) saw out the match with 14.3 overs remaining, the former driving through the covers to the ropes to complete the victory.
Australia now have one chance to salvage some pride ahead of the home Test series against the Proteas which begins next month.