South Africa bowler Dale Steyn returned figures of 4-31 as his side reduced Australia to 214-8 on the first day of the opening match of a two-Test series.
Michael Clarke ended the day unbeaten on 107 not out but had little support from the rest of the tourists' line-up.
Shaun Marsh (44) and Mitchell Johnson (20) were the only other batsmen to reach double figures.
Marsh and Clarke's 103-run partnership steadied a slow-starting Australia, but the last four wickets fell for 71 runs.
Opener Shane Watson was Steyn's first victim with the Australia total on nine, before debutant Vernon Philander lured Phil Hughes into edging to wicketkeeper Mark Boucher.
Steyn, 28, returned to trap Ricky Ponting (8) and leave the away side reeling at 40-3.
But captain Clarke stuck 17 fours off 114 balls to ensure a passable total, despite a succession of failures at the opposite end after tea.
"It's a very special hundred. I guess mainly because of the pressure when I went out there and it's always nice to step up and lead from the front on a pretty tough day after being sent in," said Clarke.