South Africa struggled to handle Australia's seam attack on a tricky Wanderers pitch, limping to 85 for three at the close of the second day of the first Test Friday.
The visitors were bowled out for 466 and South Africa's reply got off to the worst possible start when captain Graeme Smith went for a duck in the first over, edging an away swinger from Mitchell Johnson to wicketkeeper Brad Haddin.
Fellow opener Neil McKenzie finished unbeaten on 35 after watching from the other end as Hashim Amla made one and Jacques Kallis 27. AB de Villiers was 13 not out.
Ben Hilfenhaus claimed his first Test wicket, in the second over of the innings, when Amla edged another away swinger into the hands of skipper Ricky Ponting at slip.
Kallis became the eighth batsman to score 10,000 Test runs, and the first South African, before going on to hit three successive boundaries off Peter Siddle.
Siddle had the last laugh, though, as Mike Hussey caught the all-rounder in the gully.
Left-arm paceman Johnson finished with an outstanding return of one for eight from nine overs.
Earlier, a debut century by Marcus North and a ferocious onslaught from Johnson lifted Australia.
North and Johnson added 117 for the eighth wicket, a record for Australia against South Africa, surpassing the 83-run stand between Arthur Chipperfield and Clarrie Grimmett in Durban in 1935-36.
The 29-year-old North eventually fell for 117, stumped by Mark Boucher off spinner Paul Harris.
Johnson exacted brutal revenge by hitting left-armer Harris out of the attack with an Australian record 26 runs in an over containing three sixes and two fours.
Tail-ender Johnson compiled a career-best 96 not out, falling short of a maiden century after Morne Morkel had Siddle (9) and Hilfenhaus (0) caught in the slips off successive deliveries on the stroke of tea.
Johnson's innings included 10 fours and five sixes and was noteworthy for the power and timing of his strokes.
North was more obdurate but equally damaging to the South African cause in a composed knock that lasted for almost six hours.
Haddin also chipped in with a valuable 63.
Paceman Dale Steyn was the most successful South African bowler with four for 113 and Morkel took three for 117.