Opener Stephen Cook, who had made 43 off 99 balls, and JP Duminy, five not out, will resume for the night session, looking to bat the tourists into a position to challenge for a victory which would give them an unprecedented 3-0 series sweep.
Usman Khawaja earlier completed a match-changing innings of 145 for the hosts, while Mitchell Starc (53) hit his seventh test half century as Australia's last four wickets added 100 runs to their response to South Africa's 259-9 declared.
Left arm paceman Starc came back out to make an immediate impact with ball in hand when Elgar was sent back for a duck with the fifth delivery of South Africa's second innings.
Starc, bowling over the wicket to the left-hander, got some seam away from the batsman and Elgar caught an outside edge with captain Steve Smith taking an excellent low catch in the cordon.
The South Africans then weathered some fine pace bowling before Amla, who had been dropped behind the stumps on 13, lost his wicket to Josh Hazlewood for the fifth time in the series.
Hazlewood also got some movement away from the batsman and the third umpire review requested by Amla (45) showed a clear nick on the bat as the ball made its way through to wicketkeeper Matt Wade.
Wade had left the earlier chance to dismiss Amla to first slip Matt Renshaw only for the debutant to spill the chance.
Australia had resumed for the day on 307-6, having had their best day of batting in the series on Friday.
Khawaja added just seven runs to his overnight tally, though, before his 466-minute innings was brought to a close when he was trapped leg before by Vernon Philander.
His erstwhile partner Starc continued to defy the Proteas bowlers and hit a straight four off Tabraiz Shamsi to bring up his 50 before chipping the ball straight back at Kagiso Rabada to depart caught and bowled immediately.
Nathan Lyon was next to depart after scoring 13 off eight balls, his attempt to sweep Shamsi resulting in the ball coming off his glove to give Amla a simple catch and the left-arm wrist spinner his first test wicket.
Jackson Bird made six runs before he was caught in the cordon to bring an end to the innings 25 minutes before the scheduled tea break, leaving Hazlewood 11 not out.
ReutersSouth Africa lost Dean Elgar and Hashim Amla to reach dinner on 100 for two, still 24 runs behind Australia's first innings tally.
Original source: Proteas lose two wickets, reduce lead to 24 runs