England will need six wickets on the final day to win the first Test against South Africa in Durban.
South Africa closed 136-4 in their second innings, needing a further 280 to win. Steven Finn dismissed Faf du Plessis in the final over of the day thanks to a sharp catch from Alastair Cook at slip.
Du Plessis, who famously saved the Proteas a Test match against Australia by batting through a day, only made nine but had occupied the crease for 66 balls and was proving a tough obstacle to shift.
It could have been even better for the tourists. Jonny Bairstow missed a difficult chance to stump AB de Villiers, who is still there on 37 and holds South Africa’s hopes of a result on his shoulders.
Bairstow had earlier had a great time of things with the bat, smashing 79 off 76 balls as England made 326 in their second innings to set the hosts a massive 416 for victory in five sessions.
Joe Root (72) and James Taylor (42) had set the base for Bairstow to play with freedom. The Yorkshireman fell short of a maiden Test century as he holed out to long-on off Stiaan van Zyl.
Van Zyl (33) was the first South Africa wicket to fall after a promising 53-run opening stand with Dean Elgar (40). Both the first-innings centurion and captain Hashim Amla (12) were caught behind off Finn.
And the fast bowler, making his return to the side after a stress fracture in his foot, produced a snorter which did for Du Plessis late on, and put England on the brink of going 1-0 up in the series.
Video: England build commanding lead in Durban after Moeen & Broad rip through South Africa
Video: Outstanding Broad keeps South Africa in check after England collapse in first Test
England v South Africa video: Taylor & Compton lead charge before Steyn’s late strike