Ben Stokes' brilliantly constructed century and a debut four-for from Toby Roland-Jones left England in a dominant position against sorry South Africa after two days of the third Test.
All-rounder Stokes played a masterful Test innings at The Oval, defending and leaving at the right moments while not straying from his attack-minded instincts.
He hit nine fours and four sixes en route to a fine 112 to help England to 353 all out, after the hosts had started the day on a precarious 171-4 thanks largely to Alastair Cook's gritty opening-day knock.
It was then time for Roland-Jones (4-39) to muscle in on the headlines as he tore through South Africa's top order - Dean Elgar (8), Heino Kuhn (15), Hashim Amla (6) and Quinton de Kock (17) all falling to the debutant seamer.
James Anderson (2-16) also grabbed a couple in a wonderful bowling display as the Proteas, who had paceman Vernon Philander taken to hospital with a stomach bug, slumped to 126-8 at stumps.
-- England Cricket (@englandcricket) July 28, 2017
Cook fell 12 runs shy of his ton after Morne Morkel won an lbw review decision, but Chris Morris bore the brunt of an early Stokes assault.
Three overpitched deliveries were crashed over the ropes, while Jonny Bairstow (36) went after Keshav Maharaj to bring back memories of his and Stokes' dismantling of the Proteas in Cape Town in January 2016.
The entertaining partnership was undone by the new ball as Kagiso Rabada (3-85) tempted Bairstow with one that moved away and was clipped to Faf du Plessis at second slip.
Stokes cleverly curbed his attacking instinct against the second new ball but there was a fear the partners would dry up as - aside from Roland-Jones' entertaining 25 off 25 which included an ugly waft that top-edged for six - the tail wilted.
The all-rounder reached another gear, though, as he hammered Maharaj over the ropes to move into the 90s.
In the spinner's next over, Stokes was raising the bat thanks to three straight sixes. The first was caught by Du Plessis at long-on only for the skipper to hit the ropes, the second saw him reach three figures and the third was smashed beyond deep-square leg.
Stokes' heroics took England to a competitive score and Roland-Jones began his inspired spell when the faintest of edges saw Elgar pouched by Bairstow.
Roland-Jones had Kuhn trapped in front early in the third session and Amla followed when he tickled the paceman behind.
A stunning debut was complete when De Kock (17) edged to Stokes at gully, and Anderson got in on the act by trapping Du Plessis (1) lbw before having Morris (2) caught and bowled.
Stokes then showed his danger with the ball as Cook grabbed Maharaj (5) at first slip before Stuart Broad brilliantly ripped up Rabada's off stump to end a 53-run stand with Temba Bavuma (34 not out) to leave the Proteas 227 runs in arrears.