Alex Hales scored a maiden test half-century as England scored quickly after lunch to move on to 167 for three at tea on the opening day of the second test against South Africa on Saturday.
Nick Compton was edging towards another fifty, when he was caught by Temba Bavuma just before the interval for 45, leaving Joe Root unbeaten on 23.
Hales, playing his second test, was caught by a sharp catch from AB de Villiers in the slips after getting a leading edge to a lifting ball from Morne Morkel.
Hales’s 60 came from 140 balls in an innings that should allow him more time to cement a regular role as an opener alongside Alastair Cook.
England picked up the pace, adding almost 100 runs after going to lunch at 76 for one, with Hales expansive strokeplay and Compton’s aggressive performance.
A stunning one-handed catch at third slip by debutant bowler Chris Morris removed Cook for 27 in the first session off the bowling of Rabada, as two of South Africa’s three changes combined to dismiss the England captain.
Cook and Hales shared a 55-run partnership for the opening wicket, the first 50-run opening stand in the last eight English test innings.
Cook had won the toss and elected to bat on a dry wicket with a bit of teasing bounce but looking perfect for batting.
England’s top wicket taker James Anderson returned to the side in place of Chris Woakes while South Africa made three changes after their 241-run loss in the first test in Durban.