The 24-year-old required just 163 balls to reach the milestone, the fastest by an England player and second quickest in Test history, on a remarkable day in Cape Town.
Stokes’ 258 off just 198 deliveries, which contained 30 fours and an England record 11 sixes, was the highest by a number-six batsman in Tests.
The left-hander’s 130 runs in the first session were also the most scored before lunch in Test history.
Stokes, who completed an astonishing day by dismissing Dean Elgar, told Sky Sports: “It hasn’t quite sunk in yet. People say it is one of those days and it was. Everything went my way, balls into the gap and all things like that. I don’t really know how to explain that.
“When I looked at the scoreboard, I don’t know what the score was but we had a lot of runs, I thought we were in a good position only five wickets down.
“I just tried to chance my arm. It is complete instinct. I thought to myself what I was going to do and execute it the way I wanted to. You just seem to pick the ball up earlier, picking the length up.
“You bring the one-day and Twenty20 stuff back into the game.
“Cooky ran a message out when we were on 600, saying 630 or go for 300? It didn’t really matter because I was trying to hit every ball for six!”
Stokes added to ecb.co.uk: “To do it at an amazing ground, when I first came here I didn’t know how amazing this ground was with the mountain in the background. To play the way I did today at such a special venue was amazing.”
Stokes shared a world-record sixth-wicket stand of 399 with Jonny Bairstow to help England, who piled on 312 runs in 38.5 remarkable overs today, declare on 629 for six.
Bairstow played the supporting role while Stokes was cutting loose before compiling his maiden Test ton.
On Bairstow, who finished unbeaten on 150, Stokes said: “People won’t speak about Bluey’s knock, but being the player I am, going hell for leather, you almost get drawn into that yourself but he played his natural game.
Remarkable day watching Stokesy and JB bat. Such clean striking!
— Stuart Broad (@StuartBroad8) January 3, 2016
“He didn’t look to go too far outside his box and the way he was playing I thought was amazing. Once he got his hundred he cut loose.
“Jonny has worked really hard on quick bowling and how to play it. The first Test match he showed the form he is in, with his 40 and 80 in the second innings, and it is great to see him capitalising.
“I was buzzing to see him get over the mark for his first hundred. It is the first hundred and you never have your first one ever again.
“That is a special time for someone, I knew how I felt when I got my first one, so you want that 10-15 seconds all yourself so you can take it all in. I let him have that moment and told him how proud I was of him.”
England will now look to make further in-roads into South Africa’s batting line-up tomorrow after reducing them to 141 for two at the close.
“It is a really, really good batting wicket,” Stokes added to ecb.co.uk. “Me and Jonny both went back to our bowlers after we batted on it and said if you do get the ball in the right area there is a bit there, especially with the newer ball.
“It is a little bit up and down. There were a couple that Finny got to pop at Elgar. As a bowling unit we need to get the ball in the right areas more than not. Hopefully we can take the chances.”
— Jos Buttler (@josbuttler) January 3, 2016