South Africa 209 (de Kock 63, Bess 5-51) and 102 for 6 (Root 4-20) trail England 499 for 9 dec by 188 runs
England went to South Africa barely sure of their first-choice spinner, but it was spin that took them to the brink of victory inside four days in Port Elizabeth. A morning blitz from the quicks saw South Africa made to follow on, and although Dom Bess was successfully repelled after his first-innings five-for, Joe Root took up the baton with a twirl to claim his best Test figures as England closed in.
The majority of the resistance met by England came in the form of the weather. With more than 50 overs lost to rain over the course of the match so far, and the possibility of more on Monday, South Africa's task in attempting to save the game ought to have been that much simpler. But only Quinton de Kock and Anrich Nortje, in the first innings, and Faf du Plessis second time around managed to occupy the crease for any significant length of time as England's varied attack repeatedly found ways to succeed.
There have been clouds of the metaphorical variety hanging over du Plessis' captaincy, and although 36 from 123 balls represented his highest score in nine innings, as well as featuring some trademark stonewalling, it could not inspire a more concerted response. His dismissal to Root's occasional offspin, deflecting an inside edge to short leg, was symbolic of the turnaround in fortunes since South Africa won their first Test in six attempts at Centurion.
The rain on the Eastern Cape continued to do its bit, but South Africa did themselves no favours during 66.4 overs of insipid batting. They started the day by losing their last four first-innings wickets for the addition of one run from 28 balls, and ended it hanging on six down - despite another lengthy rain break cutting a chunk out of the morning and afternoon sessions.
The delay backed up England's decision to enforce the follow-on, the first time they had done so in an away Test since Wellington in 2013. With a patchy forecast for the final day, and the pitch still holding together reasonably well, it threatened to be nip and tuck - but a lead of 290 runs proved a convincing enough cushion for Root.
When the teams did get back on the field, at shortly after 2pm local time, Mark Wood put the wind back in England's sails. A full, fast delivery defeated Dean Elgar's attempt to work across the line and uprooted off stump via a faint leading edge; Wood had his second a couple of overs later when Zubayr Hamza, who has looked ill-equipped to deal with high pace, feathered a catch down the leg side hanging back against the short ball.
Du Plessis and Pieter Malan negotiated 15.2 overs - the longest partnership of the innings - and had all but taken South Africa to tea two down when Root bagged his first with a delivery that straightened on the stumps to win approval from Rod Tucker. Although Malan reviewed, the suggestion of inside edge was deemed to be inconclusive by the third umpire and South Africa were on the slide again.
With Rassie van der Dussen shaping up skittishly against Root's low-slung offbreaks, England began to get itchy - twice triggering the DRS in the period after tea only to lose both of their reviews in the process. When Root did gain an lbw decision from Tucker against van der Dussen, again the review system went in the batsman's favour. But there was no doubt about his eventual dismissal, caught by a soaring Ollie Pope at short leg off a ballooning inside edge, even if van der Dussen dragged himself reluctantly from the crease.
De Kock played his second poor shot of the day - having been bowled in the second over to end his doughty first-innings knock at 63 - to be caught by the leaping Wood at backward point, and when du Plessis departed well into the evening, Root had a four-wicket haul. There was time for Vernon Philander to be put down twice off Wood, valiant efforts both from Dom Sibley and Ben Stokes, but England walked off confident of their ability to beat both the weather and their hosts.
That they were in such an ascendant position was in large part down to South Africa's profligate approach during the opening exchanges. Resuming with 92 runs still required to avoid the follow-on, the lower order was blown away by Stuart Broad, who claimed 3 for 0, and Sam Curran with the second new ball.
Three times in as many overs saw loose shots punished with stump-rattling effect. Philander left a gap big enough to let a real-life kookaburra through, Broad's fuller length rewarded as the ball seamed back to remove off stump; de Kock attempted to drive without getting forward only for Curran to hit middle; and Keshav Maharaj dragged an ill-advised pull down on to leg. When Kagiso Rabada chipped limply to mid-off, the Port Elizabeth breeze was blowing only in one direction.