Tea South Africa 118 and 146 for 7 (Elgar 36, Stokes 2-29, Broad 2-40, Robinson 2-40) lead England 158 (Pope 67, Jansen 5-35, Rabada 4-81) by 106 runs
Dean Elgar had dug in to turn England's 40-run advantage on first innings into a 30-run deficit by lunch. But, resuming after the break on 35, he added just one more to his score before he was adjudged lbw by umpire Nitin Menon off Broad in the third over back. Elgar, the South Africa captain, walked off, apparently giving no thought to a review, which would have seen the decision overturned with replays showing the ball was missing leg stump by some way.
The wicket took Broad past Glenn McGrath to fifth on all-time Test wicket-takers' list with 564 and second among seamers behind Anderson, who moved his tally to 666 a short time later.
The veteran duo kept a tight lid on South Africa's scoring thereafter, Ryan Rickelton's four off Broad through cover the only runs to come off 18 balls before Broad trapped Rickelton playing across an outswinger that straightened and crashed into the back pad low and in line with off stump.
Khaya Zondo and Wiaan Mulder, two batters rejoining the South Africa side for the first time since April as the tourists looked to shore up their batting in the absence of Rassie van der Dussen (finger injury) and Aiden Markram (omitted), batted 87 balls for their 25-run stand.
England burned their last review thinking they had Zondo caught behind off Stokes but Snicko flatlined as the ball passed Zondo's bat, despite the conviction of Joe Root and Ben Foakes in calling for the DRS.
Robinson broke the union a short time later though, claiming his 50th wicket in just his 11th Test when Mulder edged one that shaped back into him onto his stumps. Robinson then removed Zondo with an inswinger that struck the front thigh with the third ball of his next over.
Stokes had made England's sole breakthrough before lunch, striking within three balls of bringing himself into the attack with a late outswinger which Sarel Erwee steered towards slip, where Root took a strong catch diving forward.
South Africa had claimed the morning session though, with Jansen completing his maiden Test five-wicket haul as England lost their final three wickets inside the first 16 deliveries of the day.
Resuming on 154 for 7 on the fourth day - but only the second day's play after Thursday's washout and Friday's mark of respect following the death of Queen Elizabeth II - England were out for 158 in reply to South Africa's 118.
Kagiso Rabada, who had been expensive in claiming 2 for 78 on Saturday, struck with the second ball of the day - the last of his 12th over, which had been suspended when bad light ended play the previous evening - when Robinson sent a full delivery straight to Elgar at cover. In Rabada's next over, he had Jack Leach chopping onto his middle stump for a duck to finish with 4 for 81.
Jansen had been the pick of the South Africa bowlers the previous day, claiming 4 for 34, and he ended England's innings inside the first half-hour on Sunday with his fifth when he had Foakes well caught by Petersen at third slip.
Valkerie Baynes is a general editor at ESPNcricinfo