DURHAM all-rounder Ben Stokes scored the second fastest double century in history on day two of the second Test against South Africa, with one of the most dominant batting displays in living memory.

Stokes flogged the Proteas attack mercilessly in Cape Town, progressing from his overnight 74 to 204 not out before lunch - a scarcely believeable display from the 24-year-old.

He struck a total of 15 boundaries and six sixes in a dizzying morning, delighting the 10,000 English fans crammed into Newlands.

Alongside Jonny Bairstow (95no), Stokes powered England to 513 for five, with 196 runs in the session.

Stokes reached his century in 105 balls and his 200 in just 163, second only to New Zealand's Nathan Astle's 153-ball effort in 2002.

He also set a new mark for the highest score by an England number six, the quickest English hundred against South Africa and the fastest 150 by an Englishman in Tests.

But this was not a day to bury your head in statistics, more a moment to bask in the rhythmic brutality of Stokes' hitting.

Having ended day one with an onslaught on the second new ball, Stokes upped the ante yet more as soon as play resumed.

He began 26 short of a third Test hundred and after facing just 12 deliveries he had it.

Stokes treated Morne Morkel and Chris Morris with near disdain, drumming them to the ropes five times before many fans had taken their seats.

A hard-run three brought him to three figures and he sprinted through the crease before celebrating by leaping high into the air.

Another beloved all-rounder, Andrew Flintoff, had scored England's previous fastest ton against the Proteas at Lord's in 2003 but Stokes was seven balls quicker.

Bairstow chipped in a couple of sweet shots too as England left their opponents shellshocked with 45 runs in the first four overs.

Stokes did not let up and soon began showcasing an enviable variety of strokes, all of which came off the bat hard.

He cut Morris through point, drilled him to midwicket and, when the ball came fuller, he pocketed boundaries in the 'v' between mid-on and mid-off.

Nobody was immune, Kagiso Rabada paying fully and frequently for dropping short as Stokes asserted his alpha male credentials.

The introduction of spin merely incited him to hit longer, teasing Dane Piedt with a reverse-swept four before unloading five sixes in four overs down the ground.

It was, in short, a highlights reel that most players would have been proud of over the course of a season.

Another maximum, his seventh, would follow over long-leg as he continued to stamp his authority of Rabada.

All the while he was ticking off landmarks, including Graeme Hick's 178 - the previous best by a England number six.

The 27th four of his innings, muscling Morkel wide of mid-on, brought him to 200 and also left him with the most runs before lunch in Test history (127).

Bairstow, meanwhile, played a neat supporting role as he progressed from 39 to 95no, playing his part in what was by now England's best ever sixth-wicket stand at 290 and counting.