The third Test between South Africa and England at the Wanderers in Johannesburg is on a knife-edge after the tourists reached 238 for five when bad light brought an early end to proceedings on day two, still trailing by 75 runs.
Batsman Joe Root might have tipped the scales slightly in England’s favour as he is sitting pretty on 106 not out and will resume on the third day with Jonny Bairstow on four.
The Three Lions found themselves in a spot of bother at 91 for four but Ben Stokes (58 from 54 balls) and Root counter punched with a partnership of 111 in just 16 overs.
Proteas seamer Kagiso Rabada (two for 44) had given the hosts an excellent start to their bowling innings as he had opener Alex Hales caught in the slips for single.
Debutant fast bowler Hardus Viljoen then became the third South Africa bowler to take a wicket with his first ball in Test cricket as he had Alastair Cook caught down the legside for 18.
Rabada got rid of Nick Compton (26) while Morne Morkel (two for 63) accounted for James Taylor (7) and the dangerous Stokes, who was caught and bowled by the lanky paceman.
Earlier, the home team, who resumed the morning on 267 for seven, added 46 to their overnight score as they were 313 all out an hour before lunch.
Chris Morris (28) and Rabada (24) extended their partnership to put on 56 for the eighth wicket while Viljoen played some big shots and was 20 not out in his maiden innings in the longest format.
Stokes was the pick of the England bowlers with figures of three for 53 while pacemen Steven Finn and Stuart Broad took two wickets each.