There had been some doubt over whether Stokes would play today after briefly leaving the field with left knee trouble during England's 72-run win at Headingley on Wednesday. But ahead of next week's Champions Trophy tournament in England, the all-rounder showed no discomfort with the bat.
His 79-ball innings, just his second century in 55 matches at this level, featured 11 fours and three sixes.
Stokes, the Indian Premier League's record two-million- dollar-man, shared stands of 95 with skipper Eoin Morgan and 77 with Jos Buttler.
South Africa, the world's top-ranked ODI side, dropped six catches during a sloppy fielding display, with left-arm spinner Keshav Maharaj three times denied a wicket in his debut at this level.
Also Read
The luckless Maharaj bowled much better than figures of one for 72 in 10 overs suggested.
Proteas captain AB de Villiers opted to field first after winning the toss in overcast conditions that promised to aid swing movement.
But Joe Root several times drove seamer Dwaine Pretorius -- one of three South Africa changes from Wednesday's match -- for fours through mid-on.
Alex Hales, dropped on 18 when a six off Maharaj went straight through Rabada's hands at long-on, was still on 24 when well caught by wicket-keeper Quinton de Kock, standing up to the stumps, off Pretorius.
England's 70 for two then became 80 for three when Root was unluckily run out backing up for 39 as Pretorius deflected Morgan's drive onto the non-striker's stumps.
He deceived Stokes with a well-flighted delivery that took the left-hander's outside edge only for the ball to go straight through Hashim Amla's hands at slip for four.
Next ball produced another edge, with de Kock failing to hold a more difficult chance.
Morgan, fresh from his hundred on Wednesday, was also given two reprieves.
The left-hander had made 16 when Pretorius failed to hold a tough, low caught and bowled chance and on 22 he saw de Kock, standing up to medium-pacer Andile Phehlukwayo, unable to hold a thick edge.
He had equalled his previous ODI best of 101, against Bangladesh in Dhaka in October, when he found David Miller at long-off to give Maharaj a deserved wicket.
Buttler, one of whose seven fours was an extraordinary reverse swot off Phehlukwayo, kept the runs coming, as England scored 111 in their last 10 overs.
Disclaimer: No Business Standard Journalist was involved in creation of this content