|Second Test, Cape Town (day two)|
|England 629-6 dec: Stokes 258, Bairstow 150*; Rabada 3-175|
|South Africa 141-2: Amla 64*, Stokes 1-20|
|South Africa trail by 488 runs|
Ben Stokes hit the fastest double century for England, the second fastest in history, on day two of the second Test with South Africa in Cape Town.
Stokes, in his 21st Test, resumed on 74 and raced to 200 in 163 balls to beat Ian Botham's 220-ball record.
Jonny Bairstow (150) struck his maiden Test century and shared in a stand of 399, a sixth-wicket world record.
Stokes made 258 as England added 312 within 39 overs and declared on 629-6, South Africa reaching 141-2 in reply.
Only New Zealand's Nathan Astle has reached a Test double hundred more quickly than Stokes, off 153 balls against England in 2002.
|Fastest Test double centuries|
|153 balls: Nathan Astle, New Zealand v England, Christchurch, 2002|
|163 balls: Ben Stokes, England v South Africa, Cape Town, 2016|
|168 balls: Virender Sehwag, India v Sri Lanka, Mumbai, 2009|
|182 balls: Virender Sehwag, India v Pakistan, Lahore, 2006|
|186 balls: Brendon McCullum, New Zealand v Pakistan, Sharjah, 2014|
England, 1-0 up in the four-match series and resuming on 317-5, added 196 in 25 overs in a thrilling morning session.
Driving the ball fluently when given width outside the off stump and ruthlessly pulling anything short, 24-year-old Stokes hit five fours in the opening two overs of the day and smashed spinner Dane Piedt for 16 in three balls.
He plundered 130 in the morning, the most by any batsman in a pre-lunch session, moving from 150 to his double century in just 28 deliveries, before beating Virender Sehwag's landmark for the fastest Test 250.
Attempting a third successive six to equal Wasim Akram's record of 12 for the highest number of maximums in a Test innings, Stokes lofted to AB de Villiers at mid-on, who fumbled the catch but ran out the left-hander with a direct hit.
Stokes in numbers - the records that fell
- Fastest Test double century by an England batsman
- Highest score by an England batsman at Newlands, beating Jack Hobbs' 187 in 1910
- Most sixes by an England batsman (11), surpassing Wally Hammond in 1933
- Most runs scored in a day of Test cricket in South Africa (453), beating the 450 made by Australia in Johannesburg in 1921
- Highest score by a number six, bettering Doug Walters' 250 for Australia against New Zealand in 1977
- Stokes and Bairstow set the fastest 300 partnership, beating India's Virender Sehwag and Rahul Dravid
- Stokes and Bairstow set the highest Test partnership for the sixth wicket
Don't forget about Bairstow...
Bairstow would have dominated the headlines on any other day, displaying impressively powerful hitting of his own.
The 26-year-old Yorkshire wicketkeeper hit five fours and a six in the space of nine balls and now averages 104 in three matches against South Africa.
Having made six half-centuries, the wicketkeeper recorded his maiden Test hundred in his 37th innings.
Standing tall at the crease and dispatching the ball to all quarters with a high backlift, he reached 150 from 191 balls and with that the declaration came.
South Africa's defiant reply
As so often happens after a team replies to a mammoth total, South Africa lost an early wicket, Stiaan van Zyl run out by Nick Compton after being sent back by Dean Elgar as he went in search of a single.
The current number one Test side, who have lost four of their past five matches, rallied before Stokes returned to the action and had Durban centurion Elgar superbly caught for 44 by a diving Compton at point.
De Villiers (25 not out) was dropped on five by Joe Root at second slip off James Anderson and began to look more assured in favourable batting conditions at a cloudless Newlands, sharing an unbroken 56 with Hashim Amla, who ended a run of 11 innings without a fifty in reaching 64 not out.
Two of the three wickets to fall on a day when 453 runs were scored - a record in South Africa - were run-outs, so a straightforward second successive victory for England is by no means guaranteed.
'Astonishing, magnificent, phenomenal' - what they said
BBC cricket correspondent Jonathan Agnew: "What an astonishing innings. This man has played an innings that no-one here will ever forget.
"They are all standing and applauding something that has been absolutely magnificent."
Former England batsman Geoffrey Boycott on Test Match Special: "That was phenomenal. You've seen something special. You don't get 200s like that very often - very rare. It's been a memorable day."
Former South Africa captain Graeme Smith: "Even as a South African you have to enjoy this. It's been both gut-wrenching and electric to watch.
"You've got a appreciate this. Everyone is witnessing something special."
How the public reacted
As Stokes blasted boundaries at will, we asked you to compare him to some comic-book heroes...