Ben Stokes battered South Africa's bowlers into something near submission in the second test as the he hit 72 off 47 balls on Monday as England set the home team a huge target of 438 to win.
South Africa fought hard to reach 126-2 at stumps in its effort to save the test but James Anderson removed No. 3 Zubayr Hamza two overs from the end of the second-to-last day to keep England well on top.
It will be a world record chase if South Africa somehow wins the test, with 312 runs still needed in a final-day showdown. Batting out for a draw is also a major challenge and, in reality, England's bowlers are expected to close out a series-leveling victory, which would be their first in Cape Town since 1957.
South Africa started its second innings with two successive half-century partnerships but still has a long way to go. Crucially for England, both partnerships were broken.
Dean Elgar fell to part-time spinner Joe Denly for 34 off a faint outside edge to wicketkeeper Jos Buttler. It was so faint Elgar was certain he hadn't hit it and called for his dismissal to be reviewed. He was out.
That ended his 71-run opening stand with Pieter Malan.
Malan, who is playing his first test, was 63 not out at stumps to hold most of South Africa's very faint hopes.
Anderson, England's most successful test bowler, was brought back into the attack right at the end of the day and made it count to break the 52-run Malan-Hamza partnership. Hamza edged to Buttler and Anderson celebrated the timely breakthrough with a leap into the air.
With Stokes in rampant hitting form, England's batsmen had earlier added 127 runs in 27 overs in their second innings. Stokes launched seven fours and three sixes, and took to spinner Keshav Maharaj in a highly-damaging innings that lasted only 1 hour, 15 minutes but appears to have put the test well beyond South Africa's grasp.
England was already in a strong position at Newlands with a lead of 264 when it resumed on Day 4 but Stokes made it utterly dominant. England declared on 391-8 soon after lunch with opener Dom Sibley 133 not out.
The other batsmen followed Stokes' lead, although to nowhere near the same effect. Jos Buttler hit a rapid 23 off 18 balls with two sixes.
Stokes fell caught on the boundary at long-on off Maharaj and swiped his bat at the ground in frustration that he hadn't managed to land another one in the crowd. But there was little celebration from the South Africans.
The scoreboard damage had been done and there was also a sense of psychological damage with two series-deciding tests to come in Port Elizabeth and Johannesburg. South Africa has been on the receiving end from Stokes before, when he hit a career-best 258 at world-record pace in England's last test in Cape Town four years ago.
This innings wasn't as epic but it will likely be more effective. Whereas England could only draw the 2016 test at Newlands, it's now likely to win this one and level the four-match series at 1-1.
No team has got near making 400 in the fourth innings at Newlands. The highest fourth-innings score at the ground is 354-5 by West Indies in a draw in 2004. The highest successful fourth-innings run chase ever in Tests is 418.
England also is set to be the only visiting team other than Australia to win a Test at Newlands since South Africa returned to international cricket after apartheid.
Stokes' blitz allowed Sibley to move steadily to a maiden Test century with a sweep for four. Sibley anchored England's innings for 311 balls and more than eight hours over two days in what would have been the leading headline of the innings if not for Stokes.
Sibley's patience was crucial for England, though, and allowed captain Joe Root, who made 61 on Day 3, and Stokes to attack at the other end.
Stokes took complete charge of the 92-run partnership with Sibley. Sibley was set on 85 when Stokes faced his first ball at the start of the day. The opener was on 105 when Stokes departed for his whirlwind 72.
South Africa won the first Test by 107 runs while England battled an off-field illness crisis and failing batting form.
The tables were turning. As Stokes and England batted South Africa out of the game, the home team reported that fast bowlers Vernon Philander and Anrich Nortje had both been unwell.