A gritty 85 not out from opener Dom Sibley ground down South Africa's bowlers as England took control on the third day of the second Test against South Africa at Newlands.
Sibley, playing in only his fourth Test, came in during the morning session after James Anderson had picked up the last two South African wickets to finish with 5-40 and give England a first innings lead of 46.
By the close, Sibley was still there and England had reached 218 for four, stretching their overall lead to 264.
Sibley's 85, his first Test half-century, came off a painstaking 222 balls in just under six hours and included 13 boundaries.
It was slow going but it consolidated England's advantage after Anderson and Ben Stokes combined to secure an important first innings lead.
Anderson completed his 28th Test five-wicket haul - an England record - and Stokes caught last man Anrich Nortje to set an England Test record of five catches by a fielder.
Zak Crawley made a streaky 25 when England started their second innings, with Sibley making only three in an opening stand of 28, before the day settled into a battle of attrition.
Sibley and Joe Denly (31) used up 33 overs in adding 73 for the second wicket before Denly hooked Nortje to fine leg.
England captain Joe Root was more aggressive as he and Sibley added 116 for the third wicket.
Root made 61 off 98 balls before being caught at slip off Dwaine Pretorius shortly before the close.
The ball that got Root was an exception in deviating from a crack outside off stump that was far more of a factor on the first two days.
Dom Bess, who suffered a golden duck in the first innings, came in as nightwatchman and survived until the last ball of the day when he was adjudged to have gloved a bouncer from Nortje to wicketkeeper Quinton de Kock, thus collecting a 'pair'.
Those two late wickets marked the high point of the day for the toiling South Africans who will be wary of the potential damage that Stokes and Jos Buttler could inflict on Monday.