Rory Burn’s fighting half-century in England’s second innings means Joe Root’s team could harbour hopes of completing an unlikely win on Day four.
South Africa added 200 runs to their overnight total to set England a fourth innings target of 376.
Jofra Archer, who escaped a bowling ban after slipping in two beamers on the second day of the Test, picked up a fifer in the second innings.
Night-watchman and debutant frustrate England
South Africa began the day at 72 for four in the second innings and debutant Rassie van der Dussen and night-watchman Anrich Nortje added 91 runs for the fifth wicket.
England were sloppy in the field and missed a couple of run-out opportunities in the first hour. Archer finally broke the partnership as he trapped Van der Dussen LBW with a full length delivery, shortly after the middle-order batsman reached his maiden half-century.
That led to a couple more wickets in the ensuing three overs as Nortje was bounced out by Archer, and Dwaine Pretorius nicked one through to slips to hand Ben Stokes his first wicket of the Test match.
Quinton de Kock and Vernon Philander provided the much-needed lower-order boost to push their lead past the 350-run mark.
Archer, who had picked a mere three wickets in his last four Test innings, bowled his heart out and was rewarded with his third five-wicket haul in the longer format.
Gritty Burns leads England’s charge
The visitors had their backs to the wall when they began their chase of 376 just before Tea.
However, openers Rory Burns and Dom Sibley played remarkably against the new ball attack of Philander and Kagiso Rabada to ensure a solid start.
Burns was handed a reprieve when Van der Dussen couldn’t latch on to a sharp chance at slips off the bowling of Philander.
While Sibley was stoic in defence and refused to be tempted to attempt extravagant strokes, Burns didn’t miss out on any scoring opportunities.
They added 92 runs for the first-wicket before Faf du Plessis brought on left-arm spinner Keshav Maharaj to break the stand. Maharaj struck in his fourth over as Sibley played across the line and the bowler held on to an easy chance as the ball lobbed back to him off the leading edge.
In the closing stages of the day, Maharaj found some purchase from the rough outside the off-stump and surprised Burns with a few deliveries that turned and bounced sharply.
However, England held on to finish the day at 121 for one, to keep their hopes alive in this Test.
England 181 and 121-1 (Burns 77*)
South Africa 284 and 272 (Van der Dussen 51, Archer 5-102)
England need 255 runs with 9 wickets in hand
Know more about Sport360 Application