The Proteas moved to 60-3 at the lunch interval on day two of the second Test at Newlands after England were dismissed for 269 early in the morning.
Excellent bowling by Stuart Broad and James Anderson have given the visitors a bright start by restricting the Proteas in their first innings.
England resumed their overnight score of 262-9 with Ollie Pope and Anderson out in the middle.
Pope, who replaced Jonny Bairstow in the team, caused the Proteas bowlers some frustration towards the end of play on day one, reaching a hard-fought 50 and guiding England to a respectable total.
The English were eventually bowled out when Kagiso Rabada got the final wicket of James Anderson two overs into play on Saturday morning, with Pope finishing on 61 not out.
The focus shifted to the Proteas opening pair where debutant and local boy Pieter Malan got his first taste out in the middle. After getting off the mark with a beautiful square cut for four on his third delivery, Malan edged Stuart Broad to first slip where Joe Root took a sharp catch, and he departed for a disappointing five runs.
Zubayr Hamza was the next man in and after he dispatched Broad through the covers for four he also nicked one, which was beautifully taken by Ben Stokes at second slip.
Stokes was in the action again not long after when Faf du Plessis fell in the very same trap, edging to second slip, this time off the bowling of Anderson. The skipper was back in the pavilion with only one run to his name.
Elgar, though, made a promising start, hitting two boundaries of Broad’s first over which went for 12 runs.
He grinded his way to 35 in typical Elgar fighting fashion and was particularly strong off his legs.
But Broad and Anderson really upped the pressure from the Wynberg end of the Newlands ground, finding a good line and length to the right-handers, which placed the Proteas top order in some disarray.
Rassie van der Dussen will continue alongside Elgar after the break for the middle session with his score on 10.
New issue: Why Quinton de Kock must bat at 4
South Africa: Pieter Malan, Dean Elgar, Zubayr Hamza, Faf du Plessis (c), Rassie van der Dussen, Quinton de Kock (wk), Dwaine Pretorius, Vernon Philander, Keshav Maharaj, Kagiso Rabada, Anrich Nortje.
England: Dominic Sibley, Zak Crawley, Joe Denly, Joe Root (c), Ben Stokes, Ollie Pope, Jos Buttler (wk), Sam Curran, Dominic Bess, Stuart Broad, James Anderson.