Australia have taken four South Africa wickets before lunch on day three to assume control of the third Test in Cape Town.
Captain Michael Clarke, who hit an unbeaten 161 on day two, brought Australia's first innings to an end as he declared on 494-7 overnight.
Australia made an early breakthrough when Proteas captain Graeme Smith was dismissed for five after edging a Ryan Harris delivery behind to Brad Haddin.
James Pattinson claimed his first wicket of the innings when Dean Elgar (11) nudged the ball behind towards Haddin, who made an acrobatic catch.
Alviro Petersen (53) notched up his half-century before being dismissed by Mitchell Johnson, who caught out the batsman with a short delivery that he prodded to the wicketkeeper.
Hashim Amla looked to steady matters, but he was bowled on 38 by Harris to leave South Africa on 121-4. They added six more runs to that total before the end of the morning session.
AB de Villiers and Faf du Plessis will resume at the crease after lunch.