South Africa ended the third day of the final Test against England firmly in control, aided by seven wickets from Kagiso Rabada. Rabada, 20, became the youngest South African bowler to reach that tally in a single innings, claiming 7-112 as the tourists were bowled out for 342, with South Africa leading by 175 runs.
James Anderson dismissed Dean Elgar (1) before Stephen Cook (23 not out) and Hashim Amla (16 not out) ensured their side finished the day 42-1 in their second innings before bad light ended play. England's chances of finishing the tour unbeaten now look ominous.
England began the day 138-2 but would lose four wickets for just 73 runs before lunch as Rabada stole the show. The 20-year-old removed Joe Root (76), James Taylor (14) and Jonny Bairstow (0) before lunch while Morne Morkel ended Alastair Cook's day with the bat for 76.
After a rain delay following lunch, Ben Stokes looked to provide some stability as he hit 10 of three balls but Rabada was soon as it again, as Stokes edged his delivery into Amla at the slip.
Moeen Ali was the last England batsman to fall, striking his fifth Test fifty off 90 balls with nine fours.
England will need something similar to Stuart Broad's six-wicket performance in the third Test earlier this month to close the gap when they resume on Monday, but Ali is hopeful they can do that.
"We're disappointed at the moment but we know there are two important days coming up and we have to be ready," he said. "We are still going to be positive and try to get something out of this game.
"We're a side that have got bowlers who can win us a game, as we saw last week at the Wanderers. Hopefully we can do that again. We have to attack them when they come into bat and try bowl them out as quickly as we can.
"We've got two of the best bowlers I've ever played with. We saw at the Wanderers what Broady can do and we obviously know what Jimmy can do, and hopefully they do it again tomorrow."