England spinner Dom Bess picked up the key wicket of South Africa captain Faf du Plessis before lunch to strike a heavy blow to South Africa's bid to save the second Test on the final day on Tuesday.
With South Africa 4-170 at the interval, thoughts of chasing down a Test record 438 for victory were long gone. Instead the hosts now face an uphill battle to save the test over the remaining two sessions.
Debutant opener Pieter Malan was unbeaten on 83 from 271 balls, and much may rely on his ability to hold up an end for the remainder of the day. Rassie van der Dussen was one not out.
The home side will still have a hope of drawing the test, with the wicket offering little assistance to the seamers, though the rough built up over the previous four days is offering turn for the slow bowlers.
England have the new ball, taken 10 minutes before lunch, to provide opportunities to take more wickets in what could be the key period in the game after lunch.
Du Plessis (19) will be desperately disappointed with his shot selection as he tried to take on Bess with a powerful sweep, but succeeded only in picking out Joe Denly at square leg.
Nightwatchman Keshav Maharaj (2) was the other wicket to fall in the morning session. After James Anderson (2-23) had broken his bat, he was trapped leg before wicket by the experienced seamer.
England are seeking a first win at Newlands since 1957 while South Africa must bat for 146 overs to save this test, after they won the opening game of the four-match series by 107 runs in Pretoria.