Jacques Kallis became the fourth batsman to pass 12,000 Test runs before South Africa collapsed to 266 all out on the opening day of the second Test against Australia at Johannesburg.
Kallis counter-attacked with a 37-ball half-century after the Proteas, who had opted to bat first, were reduced to 43-2 in the 15th over.
Mitchell Johnson had Graeme Smith (11) caught by Michael Clarke at second slip in the seventh over and Shane Watson accounted for Jacques Rudolph (30) via an edge through to wicketkeeper Brad Haddin.
Medium pacer Watson (1-13), however, limped off with a hamstring injury after five balls of his third over. He appears unlikely to bowl again in the match.
Kallis was given out lbw on 32 by umpire Billy Bowden but immediately called for a review and was duly reprieved when replays showed a clear inside edge.
He pressed on, hitting eight fours and two sixes in reaching 54 before chipping a Peter Siddle delivery to midwicket.
Hashim Amla (19) had helped add 80 for the third wicket but he departed soon after Kallis, edging a drive to Ricky Ponting in the slips to give teenage paceman Pat Cummins his maiden Test scalp.
Cummins (1-38), at 18 Australia's second youngest Test cricketer after Ian Craig, replaced the injured Ryan Harris in the tourists' bowling attack.
The other change from the starting XI beaten at Newlands last week was also injury-enforced, Usman Khawaja coming in for Shaun Marsh, who had flown home with a back problem.
South Africa once again looked in good shape when AB de Villiers (64) and Ashwell Prince (50) were adding 112 for the fifth wicket either side of tea.
But they were the architects of their own downfall, losing their last six wickets in the space of 10.1 overs, four to spinners Nathan Lyon and Clarke, in gloomy conditions.
Prince chipped Lyon (2-52) to mid-on to start the meltdown, the first of four wickets to fall in successive overs.
A fired-up Siddle (3-69) had De Villiers and Mark Boucher (3) caught via top edges, the former brilliantly held over his shoulder by a diving Cummins, and Lyon won an lbw verdict against Vernon Philander (0).
With the light having closed in, Clarke (2-6) took matters into his own hands, claiming the final two wickets, those of Morne Morkel (6) and Imran Tahir (0), with his part-time off-breaks.
And that was it for the first day as bad light meant stumps were pulled before Australia had the chance to start their reply.