Wayne Parnell made a stunning re-introduction to Test cricket as Australia slipped to 112-4 in reply to South Africa's 423 by stumps on day two of the second Test.
Left-arm seamer Parnell, recalled after a four-year absence, struck twice in his first three balls to ensure Australia ended the day in trouble despite a lifeless St George's Park pitch.
Parnell (2-19) had Alex Doolan (8) and Shaun Marsh (0) caught behind in his first over while Vernon Philander (2-36) pinned Chris Rogers (5) lbw early on and returned later to have Michael Clarke (19) caught in the covers.
David Warner played a lone hand with 10 fours in his 65 not out from 67 balls as wickets tumbled at the other end. Nightwatchman Nathan Lyon (12no) joined Warner through to stumps.
AB de Villiers and JP Duminy had earlier hit centuries as South Africa - 1-0 down in the three-match series - turned their overnight 214-5 into an impressive first-innings score.
De Villiers, on 51 at the start of the day, advanced to his 19th Test ton from 201 balls shortly before lunch.
South Africa's sixth-wicket pair had put on 149 by the time Australia spinner Lyon made the first breakthrough of the day, holding a return catch from De Villiers to send him on his way for 116.
No 7 Duminy brought his third Test hundred, but first for almost two years, from 199 deliveries before being ninth out for 123, lbw to complete the fifth five-wicket haul of Lyon's career. The off-spinner finished with figures of 5-130 from 46 overs.