Dean Elgar, Francois du Plessis and AB de Villiers struck half-centuries for South Africa but three cheap dismissals meant Australia marginally edged the opening day of the second Test in Port Elizabeth.
Stand-in opener Elgar led the way with 83, while Du Plessis made 55 and De Villiers was unbeaten on 51 when bad light brought a premature close with South Africa 214 for five.
That score is already more than the hosts managed in either innings during their first-Test mauling in Centurion, but Australia will still be pleased with their day's work after losing the toss.
They got rid of captain Graeme Smith and Hashim Amla cheaply and also snared debutant Quinton de Kock for single figures which, along with Nathan Lyon's dismissals of Elgar and Du Plessis, put the tourists in a promising position as they seek to take an unassailable 2-0 lead in the three-match series.
South Africa came into the contest looking to bounce back from their 281-run thrashing in the first Test but they could barely have had a worse start at St George's Park.
After opener Alviro Petersen was ruled out because of illness prior to the toss, the Proteas were then reduced to 11 for two having decided to bat first.
Smith was the first to go, trapped lbw by Ryan Harris for nine, and then four balls later Mitchell Johnson continued his stunning form by sending back the dangerous Amla for a duck in similar fashion.
Elgar and du Plessis shared a 112-run strand for the third wicket before the latter was caught at short leg by Steve Smith off Lyon after lunch.
In tandem with de Villiers, Elgar looked set for a second Test ton, only to loft Lyon to Harris in the midwicket region.
De Kock was also dismissed looking to attack, the 21-year-old coming down the wicket to Smith and lobbing the ball up to substitute Moises Henriques.
Much of South Africa’s hopes now rest with the world’s top-ranked Test batsman, de Villiers, who passed 7,000 format runs during the day.