South Africa have beaten Australia in a low-scoring game to level the one-day international series at 1-1.
The Proteas' bowling attack got on top of the hosts early, removing David Warner for a duck in the first over and taking the wicket of fellow opener Aaron Finch soon after.
The Australians were restricted to 43-4 when Shane Watson was trapped lbw and Steve Smith edged to Imran Tahir off the bowling of Morne Morkel [5-21].
Mitchell Marsh steadied the ship with a knock of 67 late in the innings, but he did not get support from the lower order and the hosts were all out for 154 in the 42nd over.
South Africa's reply with the bat did not start well as Quinton de Kock edged to Watson in the second over, and Hashim Amla was out caught off the bowling of Mitchell Johnson [1-47]
The flashing blade of AB de Villiers [48] took the tourists to the brink of a comfortable victory at 113-3 in the 20th over.
Josh Hazelwood (5-31) gave the South Africans cause for concern by removing Faf du Plessis and Farhaan Behardien in successive balls to give the Australians hope of defending a low total at the WACA.
However, captain De Villiers found an ally in the form David Miller [22 not out] and the Proteas were able to close out a three-wicket victory.