Usman Khawaja could only add seven runs to his overnight score before falling for 145, but Mitchell Starc (53) led resistance from the tail, which enabled Australia to gain an advantage of 124 runs.
Although Stephen Cook (81 not out) batted out the remainder of the day through a combination of grit and good fortune, South Africa’s hopes of setting a stiff target were undermined as Nathan Lyon struck thrice in the final session to provide a timely reminder of his value following recent criticism.
Two of Lyon’s breakthroughs came inside Saturday’s last three overs and much is now likely to depend on Cook and Quinton de Kock, who will resume with their side only 70 ahead.
Though the series is already lost, Australia’s show of improved fight after the debacle that was their effort in Hobart suggests their much-maligned team can still compete at this level.
A Vernon Philander inswinger cut through Khawaja to trap him in front and end an innings of the highest class, but Starc kept the momentum going, hooking the seamer over square-leg for six and then bringing up his seventh Test fifty by drilling Tabraiz Shamsi (1-101) down the ground for four.
As is so often the case, a drinks break broke the batsman’s concentration and Starc bunted a Kagiso Rabada (3-84) delivery straight back into the bowler’s hands.
Shamsi snared a first Test wicket when Lyon made a mess of a sweep shot and the hosts were eventually bowled out for 383.
South Africa’s response could hardly have got off to a worse start as an unbalanced Dean Elgar (0) edged an away-swinger from Starc (2-71) to slip.
Hashim Amla (45) was shaken by a Starc bouncer and then edged the next delivery between Matthew Wade and Matt Renshaw at first slip, who left the chance for each other.
There was a hint of Amla class when Lyon was lifted back over his head for six, but the former skipper fell to Josh Hazlewood (1-22) for a fifth time in as many innings when he feathered through to Wade and bafflingly reviewed, despite clear contact with the bat.
Cook operated largely through the leg-side, squirting Lyon through midwicket for his fifty, but a similar stroke cost JP Duminy as he played around a Lyon delivery that removed his off stump.
Lyon was visibly lifted by the wicket and, after Peter Handscomb had brilliantly taken a sharp catch to his left at gully to remove Faf Du Plessis (12) – whose stay at the crease was bookended by frosty receptions on and off the field, Australia’s most potent off-spinner removed Temba Bavuma (21) and nightwatchman Kyle Abbott (0) late in the day to put the hosts in control.
Scores in the match entering Day 4 are: South Africa 259-9 declared & 194-6; Australia 383