Cape Town - England were 138 for two at stumps on Day 2 of the fourth Test against South Africa at SuperSport Park in Centurion on Saturday.
They still trail South Africa's first innings total of 475 by 337 runs.
Skipper Alastair Cook (67*) and Joe Root (31*) were the batsmen occupying the crease for the visitors.
The batsmen out were Alex Hales (15) and Nick Compton (19), both dismissed by Kagiso Rabada.
But the day belonged to South African wicketkeeper-batsman, Quinton de Kock, who showed just why he is rated so highly by carding his maiden Test century.
He became the third centurion in the South African first innings after Stephen Cook (115) and Hashim Amla (109) had set South Africa up for a big total on Friday.
When the Proteas were eventually bowled out, De Kock was left stranded on a career-best 129 not out.
De Kock had started Saturday's second day on 25 with Temba Bavuma on 32.
But when Bavuma was dismissed for 35 and then Rabada for a first ball duck, it appeared that England were finding a way back into the game.
De Kock and Kyle Abbott then put on a 50-run eighth wicket partnership before Abbott was out lbw for 16.
Dane Piedt then joined De Kock, and provided stable support while the Proteas wicketkeeper went after the English bowling from the other end.
De Kock got to his century off just 104 balls as the Proteas looked to get as many as they could.
Piedt was out for a patient 19 off 104 balls when he edged a Ben Stokes delivery to Jonny Bairstow, and when Morne Morkel was out lbw to Stokes for 0 De Kock had run out of partners.
England have an unassailable 2-0 lead in the series.