Ben Stokes struck a sparkling unbeaten 74 to help England finish the opening day of the second Test against South Africa on a healthy 317 for five at Newlands on Saturday.
Stokes top-scored for the touring side with Alex Hales and Joe Root also contributing half-centuries and Jonny Bairstow ending on 39 not out in an unbroken sixth-wicket partnership of 94.
Stokes took to the tiring South African bowling in the last hour of a hot day, seeing off the threat of the new ball with a cavalier approach that gave the advantage to England who lead the four-test series 1-0.
Root made 50 before giving debutant Chris Morris his first Test wicket when he nibbled at a ball and was caught behind by wicketkeeper Quinton de Kock.
Nick Compton was five runs short of his 50 when he pulled to midwicket and was caught by Temba Bavuma off the bowing of Kagiso Rabada with the last ball before tea.
The 20-year-old Rabada, replacing the injured Dale Steyn, took two wickets in as many balls either side of the interval. James Taylor fell straight after tea playing a big drive to a wide ball to be caught behind for a golden duck.
The first England wicket to fall was Cook who fell to a stunning one-handed catch at third slip by Morris for 27 off the bowling of Rabada.
Cook, who won the toss, and Hales shared a 55-run partnership, the first 50-run open partnership in the last eight English Test innings.
Hales, in his second Test, was out for 60 to a sharp catch from AB de Villiers in the slips after getting an edge to a lifting ball from Morne Morkel.
His patient innings off 140 balls should, however, allow him more time to cement a regular role as captain Alastair Cook's opening partner.
South Africa's bowlers all took a pounding with Rabada's figures of 3-74 the best. Debutant Morris finished with 1-99 off 20 overs as the absence of Steyn, Vernon Philander and Kyle Abbott was felt by the home team.
England won the first Test in Durban by a convincing 241 runs.
Will it be a happier new year for South Africa?
Durban Test: Root among runs again as England take command
Rabada to replace injured Steyn for South Africa
'Potentially this England team can do some really good things'
Yuvraj, Ishant, Steyn off-loaded by IPL franchises