Jacques Kallis and Morne Morkel stood out as South Africa scored a convincing 80-run win in the second one-day international against Australia at St George's Park on Sunday.
The win levelled the three-match series at one-all. Kallis hit 76 in a South African total of 303 for six and Morkel bowled with pace and accuracy to take four for 22 as Australia were bowled out for 223 in reply.
Kallis became the third batsman, after India's Sachin Tendulkar and Australia's Ricky Ponting, to reach fifty on 100 occasions in one-day internationals. He has turned 17 of those efforts into centuries.
South Africa made a bad start when captain Hashim Amla was out off the first ball of the match, pushing a simple catch back to opening bowler Doug Bollinger. But Kallis and Graeme Smith (57) put their side on top with a second wicket stand of 142.
With Kallis in fluent touch from the start of his innings, Smith was able to play his way back into form after a poor start to the season.
Smith and Kallis were out in quick succession but left-handers JP Duminy (56) and David Miller (59) regained the initiative for South Africa with a fifth wicket partnership of 107.
Australia suffered a blow when all-rounder Shane Watson had to leave the field after bowling the fifth ball of his fourth over with what was described as a lower back spasm.
Because of the time he was off the field he could not open the batting - and under new regulations he was not allowed a runner when he eventually batted at number six.
Australia's run chase got off to a bad start when Ponting and Michael Clarke were out cheaply but David Warner and Michael Hussey gave the tourists some hope with a third wicket stand of 71.
Opener Warner made a career-best 74, surviving a straightforward chance to Amla at mid-on when he was on 26, but after a rapid start he was pegged back by the South African bowlers and needed 97 balls to make his runs.
Hussey survived two stumping chances to Mark Boucher off Johan Botha before he was run out for 37 off 62 balls.
By the time Watson came in the required rate had climbed to nine an over.
The batting powerplay was taken soon after his arrival and he hit Kallis for six and four in an over which yielded 14 runs.
But he scored only 15 before holing out to midwicket off Lonwabo Tsotsobe, effectively ending Australia's challenge.
"We were outplayed," admitted Clarke. "They showed us how to bat on a slow wicket and they executed well with the ball."
Amla said: "Our batting set us up. We showed what we are capable of." The third and final match of the series will be played in Durban on Friday.