Opener Aiden Markram led the way with a career-best 152 as South Africa had the better of the opening day of the fourth test against a much-changed Australia, reaching the close on 313 for six on Friday.
The tourists, reeling from their ball-tampering scandal and led by new captain Tim Paine, had to endure chants of "where is Warner?" and "where is your captain?" from sections of the 17,023 home support as a reminder of the bans handed to captain Steve Smith, his deputy David Warner and Cameron Bancroft.
Needing a win to grab a share of the series, the tourists kept themselves in the game as the excellent Pat Cummins (3-53) claimed the wickets of Markram and home skipper Faf du Plessis first ball.
Debutant Chadd Sayers (2-64) removed AB de Villiers (69) with the new ball and two deliveries later had nightwatchman Kagiso Rabada caught without scoring.
Temba Bavuma (25) and Quinton de Kock (7) will resume on the second morning, looking for a sizeable total on a wicket already taking turn and showing widening cracks as they seek a first home series win over Australia in almost 50 years.
After losing the toss, Australia's bowlers have found enough in the wicket to dispel the notion of a flat pitch.
But it did not come in the form of reverse swing, which was noticeably absent having been a feature of the first three tests, only becoming apparent with the very old ball.
The excellent Markram has been the anchor for the innings, hitting 17 fours and a six on his way to a fourth career century to go with three fifties in 17 test innings as he scored all around the ground.
His 216-ball vigil ended when he steered Cummins to Mitchell Marsh in the gully, having brought up his 150 the delivery before with a sumptuous drive.
It was the fourth century for the home side in the series, and second for Markram, with Australia's batsmen yet to break their duck, a major difference between the two sides.
MIDDLE-ORDER COLLAPSE
South Africa were teetering on the brink of another middle-order collapse when Du Plessis misjudged Cummins's next delivery, leaving the ball as it crashed into his pads for a plumb lbw decision.
But De Villiers and Bavuma steadied the innings again with a fifth-wicket partnership of 52, before two late wickets lifted Australia at the Wanderers.
The other batsmen out were opener Dean Elgar (19), caught off the leading edge from a Lyon delivery for the third time in the series, and Hashim Amla (27), who edged Cummins to Peter Handscombe at second slip.
Australia made four changes from the last test, replacing the banned trio with Joe Burns, Matt Renshaw and Handscombe. Fast bowler Mitchell Starc has a stress fracture in his leg and was replaced by Sayers.
South Africa, 2-1 up in the series, were unchanged with fast bowler Morne Morkel playing his final test match before he retires from international cricket.