Ben Stokes hammered another dazzling century and four-wicket Toby Roland-Jones enjoyed a dream debut as England took complete command, leaving South Africa on the brink of following on after a remarkable second day of the third test at The Oval.
Stokes underlined his prowess as the rarest of all-round talents with his fifth test hundred, reached with two successive sixes, propelling England to a challenging total of 353.
It set the stage for 29-year-old newcomer Roland-Jones, who had earlier smashed a robust run-a-ball 25, to rip through South Africa's top order with four wickets in his first six overs as the visitors capitulated to 126-8 by the close.
Not for the first time, Stokes proved the Proteas' scourge, lashing four sixes and nine fours. He hit a third successive six after reaching his ton before eventually being the last man out for an outstanding 112 from 153 balls.
Yet his performance was, if anything, eclipsed by the tour de force on debut of Middlesex's late bloomer Roland-Jones. Only playing because of injury to Mark Wood, he found zip, bounce and movement that made him a menace with every ball.
Amid his disposal of the visitors' top four, the snorter that dismissed Hashim Amla -- rising, moving and flicking the gloves of a maestro who scored a triple century on his last test at The Oval -- told of a solid county denizen transformed into irresistible test spearhead.
Roland-Jones had his moment in the sun last year when he took the hat-trick to beat Yorkshire that sealed Middlesex's county championship triumph at Lord's but at London's other cricketing cathedral this may have felt even more surreal.
As he took his cap, having recorded 4-22 from his first eight-over spell, no wonder he could not stop smiling.
James Anderson, doubtless earlier unimpressed to be taken off in favour of Roland-Jones with conditions seemingly perfect for England's record wicket taker, got into the act later with two wickets and Stokes, inevitably, chipped in with another.
The South Africans, at 61-7 and with a poorly Vernon Philander unable to bat, were in danger of having to follow-on before the day was done but Temba Bavuma, who put on 53 with Kagiso Rabada, held firm on 34.
In England's innings, Alastair Cook had missed out on a 31st test hundred, disappointed to be trapped lbw by Morne Morkel for 88, but with a magnificent counter-attack combining watchfulness and remarkable power, Stokes delivered the performance The Oval merited in its 100th test.
When he was on 91 and down to his last partner Anderson, it appeared as if he was about to miss out on his richly-deserved ton.
Attempting to smash spinner Keshav Maharaj, he miscued, allowing Faf du Plessis to catch him on the long-on boundary. However, with momentum sending him tumbling backwards, the South African captain fell into the boundary markers and six was awarded.
Stokes celebrated by hoisting the next ball in the same direction, connecting perfectly as the ball sailed into the crowd to take him to three figures off 144 balls.
Stokes made it three sixes in a row over deep mid-wicket, the first time an England batsman had achieved the feat in a test since Wally Hammond against New Zealand 84 years ago.
Stokes's performance, which had echoes of his incredible double hundred against the South Africans in Cape Town last year, saw him pass 2,000 runs in tests. He found an old willing ally in Jonny Bairstow (36) and a new one in Roland-Jones, who enjoyed his six and four fours hugely.
The touring side, though, were severely weakened without key paceman Philander, who, just as on Thursday, bowled well early on before having to leave the field feeling unwell.
He had to go to hospital for further tests because his stomach bug symptoms had worsened and it is unclear yet if he will be fit to bat on Saturday.