Cape Town - Dean Elgar and Rassie van der Dussen shared a century partnership as South Africa fought back after the loss of three early wickets on the second day of the second Test against England at Newlands on Saturday.
South Africa were 141 for three at tea in reply to England's first innings total of 269.
Opening batsman Elgar was on 77 not out while Van der Dussen needed some good fortune in making 46 not out.
Veteran opening bowlers Stuart Broad and James Anderson did the damage for England, reducing South Africa to 40 for three, both bowling with excellent control from the Wynberg end of the ground where fast bowlers of both sides have extracted bounce and some sideways movement.
Ten of the 13 wickets to have fallen on the first two days have come from the Wynberg end.
Broad took two for 12 in a hostile opening spell, dismissing new opening batsman Pieter Malan and Zubayr Hamza for five apiece.
Fellow veteran Anderson claimed the wicket of South African captain Faf du Plessis for one.
All three batsmen fell to catches in the slips with Broad and Anderson bowling a tight line and getting good bounce from the pitch.
Broad was warned for landing in the 'danger area' of the pitch immediately before taking his second wicket.
Van der Dussen's first scoring shot was a four edged at catchable height through a gap in the slips cordon. He was given out leg before wicket to Anderson but was reprieved on review because of an inside edge and gloved a catch to the slips off Broad only to be called back because of a no-ball.
He also survived a difficult chance to Stokes at second slip off Anderson.
England earlier added only seven runs to their overnight total of 262 for nine before Anderson was caught at slip off Kagiso Rabada, leaving Ollie Pope unbeaten on 61.