Ben Stokes scored the second fastest double-hundred in Test history with a devastating display as England obliterated South Africa's bowling attack to take command of the second Test in Cape Town.
England, who lead the series 1-0, resumed on day two at Newlands on 317-5 and added a remarkable 196 runs without loss in the morning session, eventually declaring on 629-6, with the hosts reaching 141-2 at the close.
Stokes, who started the day on 74 and saw his knock ended by a run out on 258, dismantled the Proteas to reach 200 off just 163 balls, with only New Zealand's Nathan Astle having reached the landmark quicker.
The 24-year-old also surpassed Ian Botham's 220-ball England record as he and Jonny Bairstow (150 not out) - whose maiden Test century was overshadowed by his team-mate's display of sheer dominance - put on a sensational 399-run stand, the highest Test partnership for the sixth wicket.
Stokes' sensational batting saw him clear the ropes on an astonishing 41 occasions, with his 11 maximums the most by an England batsman.
The beleaguered hosts' mustered a credible response, with Hashim Amla (64 not out) completing a half-century for the first time in 12 Test innings, though Dean Elgar (44) and Stiaan van Zyl (4) were sent packing.
England got the session off to a phenomenal start, with Stokes hitting seven fours in the opening four overs as he and Bairstow powered to 45, the latter chipping in with successive fours off Morne Morkel (1-114) as he provided a stunning supporting display.
Stokes reached his third Test hundred in just 105 balls and showed no signs of relenting, with the number one ranked Test side having no answer to his power and variety.
Chris Morris (1-150) came close to a dismissing the all-rounder with a yorker, but could not stop the left-hander claiming his double-century with his 24th four of the innings.
The tempo slowed after lunch, but Stokes and Bairstow's partnership ticked over to 300 off 285 balls, with the former taking full advantage when Kagiso Rabada (3-175) bowled too short once more to reach the milestone with his seventh maximum past long-leg.
Stokes' heroic afternoon ended when he was run out after ball-watching a looping strike that AB de Villiers dropped at mid-on before quickly recovering to sling into the non-striker's stumps.
Alastair Cook declared soon after and South Africa's woes looked set to continue when Van Zyl was caught midway down the pitch in a shambolic third-over run out.
Elgar was caught at backward point off Stokes (1-20) to leave the Proteas on 85-2, but Amla and De Villiers, dropped by Joe Root at second slip on five, formed a steady partnership to see out the remainder of the day and will return to the middle on Monday with a huge task to tackle.