South Africa capitalised on England's batting frailties to take the upper hand in the second Test at Newlands, despite being frustrated by a defiant Ollie Pope late on day one.
The tourists had a great opportunity to show a positive response to losing the first Test at Centurion when Joe Root won the toss and opted to bat on a good track in Cape Town on Friday.
It was the Proteas' day, though, as England crumbled abjectly in the sun to close on 262-9, having been 185-4 prior to Ben Stokes playing a poor shot to depart for 47.
Pope was the only batsman to score a half-century on his return from illness a day after his 22nd birthday, making a mature unbeaten 56 with support from last man James Anderson in an unbroken last-wicket stand of 28.
Vernon Philander, Kagiso Rabada, Anrich Nortje and Dwaine Pretorius took two wickets apiece for a South Africa side aiming for a fifth successive win at the famous venue, a place where England have not secured victory for 63 years.
Philander (2-46) wasted no time in making an impact in his last Test on his home ground, Zak Crawley - in for the injured Rory Burns - edging behind in the third over.
Dom Sibley (34) found the rope seven times before he nicked Rabada (2-63) to a diving Quinton de Kock to end a second-wicket stand of 55 with Joe Denly just before lunch.
Denly was rattled on the helmet as Nortje tested him with some short stuff and Root (35) was undone by a hostile delivery from the same bowler, trudging off in fury after gloving the quick to wicketkeeper De Kock for 35 straight after he had been dropped in the slips.
Denly (38) fell seven overs later, Keshav Maharaj breaching his otherwise solid defence to bowl the number three and leave England in a spot of bother on 127-4.
Stokes looked in ominous touch on the ground where he made a career-best 258 four years ago as he and Pope attempted a rebuilding job, including clattering Maharaj into the crowd.
The all-rounder continued to play positively as Pope accumulated steadily, but Stokes gave his wicket away by tamely chipping Nortje (2-54) to Dean Elgar at cover in the final session.
Jos Buttler (29 from 27 balls) played in one-day mode and put Maharaj on the building site with a fierce blow before Pretorius (2-26) ended his promising knock.
Sam Curran lost his off stump offering no shot to Pretorius, then Philander got rid of Dom Bess – the spinner selected to replace the injured Jofra Archer in England's attack - for a golden duck with the first delivery with the second new ball, De Kock taking his fifth catch.
England were 234-9 when Stuart Broad got himself into an almighty tangle and was bowled by Rabada, but Pope ramped the paceman for two fours and farmed the strike impressively to make a second Test half-century.
The right-hander had a life when he was caught hooking Rabada as the paceman overstepped but while the final wicket proved to be elusive for South Africa prior to the close, they will be much the happier of the two sides.