England were battling a Quinton De Kock counter-attack as South Africa bounced back from a poor start to the Boxing Day Test to reach 187 for five in Centurion.
Joe Root made the bold call to bowl first at SuperSport Park and, after seeing James Anderson mark his 150th cap by strangling Dean Elgar down the leg-side with the first ball of the match, his five-man pace attack picked up regular wickets.
Midway through the afternoon session the Proteas were stuttering badly on 111 for five but De Kock rode his luck to make a quick-fire 64 not out in an important stand of 76 with debutant Dwaine Pretorius.
De Kock had a couple of dicey moments, both off Root's occasional spin, but came through unscathed and may now hold his side's hopes of a competitive first-innings total.
Anderson failed to gather a high, hanging top edge when De Kock was on 25, making good ground from mid-off but unable to pluck the ball as it dropped. On 35 the left-hander nicked Root to Ben Stokes at slip, only for the third umpire to rule that the ball was grounded before the chance was taken.
Stokes had earlier opted to take part in the match, with his ill father Ged in a stable but serious condition 45 minutes away in a Johannesburg hospital. England travelled without the sick trio of Ollie Pope, Chris Woakes and Jack Leach, all quarantined at the team hotel with a bug.
Anderson had waited five months to make his milestone appearance following a calf injury in August, but was instantly back in the thick of things. His opening delivery was very much a loosener, a gently-paced leg-side offering which Elgar somehow managed to feather through to Jos Buttler, but it was just the start England needed.
Sam Curran made it 32 for two when Aiden Markram turned a gentle catch to mid-wicket, where Pope's replacement Jonny Bairstow held on. England edged the session when a promising knock from Zubayr Hamza ended on 39 shortly before lunch.
Broad was the successful bowler, drawing a loose shot outside off stump and providing Stokes with the catch. From 79 for three at the interval, the hosts tumbled into further strife when captain Faf du Plessis and debutant Rassie van der Dussen were both caught by Root in the cordon.
Left-armer Curran picked up a second when he angled the ball across Van Der Dussen and Broad produced a neat ball to unpick Du Plessis' defence. At that point De Kock took matters into his own hands, beginning the throw the bat with something approaching abandon.
He took 14 off a Curran over, survived his two nervy moments against Root, and scored a handful of runs off the outside edge. He motored along to 50 in 45 balls with Pretorius joining the fun when he heaved Root for six.