Prolific South African batter Quinton de Kock hit his second successive century at the World Cup on Thursday as South Africa sent five-time champions Australia crashing to a 134-run defeat.
After the Proteas had made 311-7, Australia lost six wickets with just 70 on the board and then focused solely on attempting to limit the damage to their net run-rate, reports AFP.
They were eventually dismissed for 177 with 55 balls to spare.
For South Africa, it was a second win in two games while Australia have lost both of their matches.
"I'd be really greedy if I said there were areas to improve, a near-perfect game with the bat, and with the ball," said South Africa captain Temba Bavuma.
Australia skipper Pat Cummins admitted his team had been "well off the mark".
He added: "Not much needs to be said tonight, everyone's hurting."
Australia, who lost by six wickets to India in their opener, saw five catches dropped when South Africa batted.
Their mood did not improve once they began chasing a 312-run target, losing wickets on a regular basis as South Africa's fast bowlers ripped through their top order.
Marco Jansen and Lungi Ngidi sent back openers Mitchell Marsh (seven) and David Warner (13) before Kagiso Rabada took three quick wickets.
Rabada had Steve Smith lbw controversially on review for 19, clean-bowled Josh Inglis for five and had Marcus Stoinis smartly caught down the legside by wicketkeeper De Kock, also for five.
Australia were unhappy with the decision as Stoinis appeared to have his hand off the bat when the ball brushed his glove on its way to De Kock.
In between, off-spinner Keshav Maharaj claimed dangerman Glenn Maxwell off his own bowling as the Australian nicknamed "The Big Show" suffered stage fright and was out for just three.
With the match virtually lost, Australia went into damage limitation, hoping to ease the damage to their run rate with still seven pool matches to play in the marathon event.
At the halfway stage of 25 overs, they had crept to 95-6 before Marnus Labuschagne (46) and Mitchell Starc (27) put on 69 for the seventh wicket.
They fell in the space of seven balls before the innings collapsed with leg-spinner Tabraiz Shamsi wrapping up the tail.
Bd-pratidin English/Lutful Hoque