The Proteas limited England to 60/2 at lunch on day two of the first Test at SuperSport Park in Centurion on Friday.
England required a mere 11 deliveries to end South Africa’s first innings on 284 all out in the morning session. Seamers Stuart Broad and Sam Curran finished with identical figures of 4/58 each.
All-rounder Vernon Philander, who will retire from international cricket after this series and scored a vital 35 down the order, soon struck with the ball during five successive maidens.
He had opener Rory Burns caught by wicketkeeper Quinton de Kock. Two overs later, fast bowler Kagiso Rabada removed the inexperienced Dom Sibley.
Precariously positioned at 15-2 and with Rabada in the middle of a hostile spell, the tourists required captain Joe Denly to defy. He dutifully obliged alongside middle-order batsman Joe Denly.
Denly, on zero at the time, survived a dropped catch from slip fielder Rassie van der Dussen.
Root and Denly will resume after the break, with a deficit of 224 and push for a first-innings lead to address.
South Africa: Aiden Markram, Dean Elgar, Zubayr Hamza, Rassie van der Dussen, Faf du Plessis (c), Quinton de Kock (wk), Dwaine Pretorius, Vernon Philander, Keshav Maharaj, Kagiso Rabada, Anrich Nortje.
England: Rory Burns, Dominic Sibley, Joe Denly, Joe Root (c), Ben Stokes, Jonny Bairstow, Jos Buttler (wk), Sam Curran, Jofra Archer, Stuart Broad, James Anderson.