In reaching 250 off 196 balls, Stokes beat Virender Sehwag’s record and also set the highest score by a batsman at number six, beating a 39-year-old mark held by Australian Doug Walters
Brutal batting from Ben Stokes and Jonny Bairstow broke a host of records as England declared on 629 for six before South Africa replied with 141 for two at the close of play on the second day of the second Test at Newlands on Sunday.
Stokes bludgeoned the fastest 250 in Test cricket in a 399-run world-record partnership for the sixth wicket with Bairstow, who was 150 not out after scoring a maiden Test century.
Hashim Amla (64 not out) and AB de Villiers (25 not out) were defiant at the close as South Africa cut back the deficit to 488 runs.
On a day like few others in Test history, England set about the home bowling with abandon, approaching the first session as if it was a Twenty20 game with relentless attacking that never waned.
England resumed on 317-5 but raced to 513-5 at lunch in a morning session of 196 runs before declaring some 30 minutes before tea after amassing the highest first-innings total in a Test at the picturesque Cape Town ground at a rate of some eight runs per over.
Stokes, who was 74 not out overnight, scored the second fastest double century in Test history, his 200 coming off 163 balls, 10 more than record holder Nathan Astle of New Zealand.
England's previous fastest was by Ian Botham who took 220 balls.
The 24-year-old Stokes reached his 250 off 196 balls, beating Virender Sehwag's former record for India (207), and was eventually run out for 258 after facing 198 deliveries, a knock which included 30 fours and an England-record 11 sixes.
Stokes also set the highest score by a Test batsman at number six, passing a 39-year-old mark held by Australian Doug Walters.
He was eventually out in something of an anti-climax as he skied a shot to De Villiers, who dropped a simple-looking catch only to sweep up the ball and hit the stumps to run out Stokes as he ambled back to the crease.
South Africa’s horror day did not end after the declaration, which came when Bairstow got to 150.
Stiaan van Zyl was run out for four in the third over of their first innings, setting off for a quick run but being sent back by opening partner Dean Elgar. Stokes then reminded the hosts of his all-rounder ability with a rising ball which removed Elgar for 44 after a thick outside edge found the diving hands of Nick Compton at backward point.
De Villiers was dropped on five by Joe Root at second slip, while Amla's half-century was his first in exactly a year as he battles with poor form and continuing questions around his captaincy. England lead 1-0 in the four Test series after a 241-run victory in Durban last week.