The umpires brought the players off at 5.11pm, with seven overs left in the day and were unlikely to go back on the field amid worsening conditions.
Elgar shared in a 112 run third wicket stand with Faf du Plessis (55) -the highest partnership for South Africa in the series to date – as the hosts attempted a strong response after losing the first Test by a considerable margin.
Elgar, however, was out 17 runs short of a century as he was caught in the deep by Ryan Harris off spinner Nathan Lyon.
The breakthrough also brought an end to a fourth wicket partnership with AB de Villiers of 58 off 159 balls. South Africa were left 181 for four.
Quinton de Kock came in at number six on debut, and lasted 17 balls for his seven before he was out to Steve Smith.
De Kock attempted a shot over the infield but skied the stroke, and was caught by substitute fielder Moises Henriques. The hosts were reduced to 202 for five.
When bad light stopped play, De Villiers was 51 unbeaten alongside JP Duminy 2 not out.
Spinner Nathan Lyon returned the best figures for Australia with 2/47 from 23 overs.
In the morning session, captain Graeme Smith and Hashim Amla were both out lbw, as South Africa fell to 11 for two. Smith was out to Harris, and Amla was removed by Mitchell Johnson.