The hosts endured a frustrating morning, losing their last three wickets inside the first quarter of an hour while a first-innings lead of 40 was wiped out ahead of Ben Stokes’ breakthrough before lunch.
Dean Elgar neglecting to review an lbw verdict against him proved costly as South Africa stumbled from 83-1 to 146-7 at tea, a lead of 106, with England now seemingly in the ascendancy.
The day after lurching to 36-6 in this truncated decider on a poignant Saturday, Elgar and Sarel Erwee showed due caution against the new ball and put on a battling 58 despite England challenging both edges of the bat.
Stokes winkled out Erwee for 26 before lunch, angling one across the left-hander and taking the edge, and greater cloud cover and a more humid feel at the start of the afternoon session played into England’s hands.
Even so they were grateful when Elgar started trudging off the field before the umpire’s finger was raised to become Broad’s 564th Test victim, moving the veteran England seamer above Australia great Glenn McGrath and into the top-five on the all-time list.
Replays showed the ball was drifting down the leg side before Anderson, moving the ball both ways, flummoxed Keegan Petersen, whose push took the edge and was caught in the slips.
Broad was also finding a bit of movement through the air but it was a full and straight delivery that did for Ryan Rickelton, trapped lbw on the back pad. Perhaps with Elgar’s dismissal in the back of his mind, Rickelton queried the decision but he was plumb.
Khaya Zondo and Wiaan Mulder resisted for 14.5 overs but added just 25 runs in that time and Robinson returned to the attack to remove both and tilt the dial firmly in England’s favour.
Mulder was cramped on the back foot and could only chop a cut on to his stumps to hand Robinson his 50th Test wicket, coming at an average under 20, while he was in clover when another inswinger did for Zondo.
The South Africa batter did not seem to offer a shot as he was rapped on the pad although the third umpire felt he did when Zondo reviewed. It mattered little, however, as the decision stayed with the on-field umpire as the tourists slipped to 133 for six.
England thought they had enhanced their position when Marco Jansen edged Stokes into the slips only for a no-ball to be signalled. But Stokes made amends with a hooping inswinger which castled Jansen with the final ball before tea.
Earlier, England were all out for 158 in 36.2 overs – the same length as South Africa’s first innings, with Marco Jansen celebrating his recall with five for 35 after Ben Foakes steered into the cordon to be last man out.
Robinson meekly chipped the second ball of the session to short cover off Kagiso Rabada, who also snared Jack Leach after he chopped the fast bowler on to his stumps.