Australia took firm control of the day-night third Test on Saturday when it reduced South Africa to 194 for six at the close on day three, only 70 runs ahead of its host.
Desperate for a consolation victory to avoid a first 3-0 series sweep on home soil, Australia's tail boosted its first innings tally to 383 before the bowlers took over.
Dean Elgar and Hashim Amla departed before tea and JP Duminy, captain Faf du Plessis, Temba Bavuma and Kyle Abbott followed under the lights in the night session.
Opener Stephen Cook was the one top-order batsman left standing after hitting 81 off 199 balls and will return to the crease on day four with Quinton de Kock, who had yet to score.
Paceman Mitchell Starc, who earlier completed his seventh Test half century, removed Elgar for a duck with the fifth ball of the innings before taking the key wicket of du Plessis for 12 courtesy of a brilliant catch by Peter Handscomb.
The home side celebrated with the debutant as if it had won the match, an indication of the importance it placed on the wicket of du Plessis, who contributed an unbeaten 118 to South Africa's first innings 259-9 declared.
Amla has been a less influential figure on this tour and, having been dropped on 13, lost his wicket to Josh Hazlewood for the fifth time in the series when he nicked behind for 45.
Australia had resumed on 307-6 after enjoying its best day of batting in the series on Friday.
Usman Khawaja's match-changing innings ended when he was trapped lbw by Vernon Philander for 145 while Starc was caught and bowled by Kagiso Rabada for 53 to trigger the end of the innings.
After the string of batting collapses that contributed to humiliating defeats in Perth and Hobart, however, the host will have been pleased that its last four wickets were worth 100 runs.
Following Elgar's early departure off an outside edge, which Australia skipper Steve Smith took with a fine low catch in the cordon, Cook was even more circumspect as partners came and went at the other end.
The 33-year-old took 117 balls to reach his second Test half century and was 19 runs away from his second test hundred at the close of play.
Duminy (26) took the tourist past Australia's tally with two runs to third man but lost patience at the pace of scoring and tried to play across a Nathan Lyon delivery only to miss the ball completely and watch it take out his off-stump.
Bavuma made 21 before giving Lyon his second wicket shortly before stumps, the batsman attempting a sweep but getting an edge which looped off his arm for Smith to catch.
Lyon was getting serious turn by now and still had time to remove nightwatchman Abbott lbw for a duck to give the off-spinner figures of 3-48 and pin the South Africans firmly to the ropes.
- NBA roundup: LeBron James hits milestone, but Nuggets win
- Ranji Trophy Live Score, Day 2 Semifinal 2024: Sai Kishore picks fifer vs Mumbai; Yash Thakur removes Gawali, Venkatesh vs MP
- De Minaur sinks Ruud to retain Mexican Open crown
- India climbs to top spot in WTC standings after Australia beats New Zealand
- LeBron James reaches 40,000 points to extend his record as the NBA’s scoring leader