The Warwickshire opener came to the crease early on the third morning averaging just 17.5 from his first six innings at the highest level but walked off with an unbeaten 85 at stumps, his credentials renewed and his side 264 ahead.
England had already banked a handy 46-run lead by wrapping up the Proteas' first innings for 223, James Anderson's double strike guaranteeing him another record in the process, but Sibley's efforts over the course of 222 balls and nearly six hours cemented the advantage.
The 24-year-old batted with deliberation and determination, happy to exploit his strengths through the on side but also taking the opportunity to expand his off-side repertoire as he found his feet.
Anderson had earlier completed his 28th five-wicket haul of his career, surpassing Sir Ian Botham's mark almost five years after overtaking him as England's leading wicket-taker and confirming, as if confirmation were needed, that at 37 he still has both the hunger and skill to last the course.
The hosts resumed on 215 for eight but soon succumbed. Anderson had removed Keshav Maharaj with the final ball of the previous day and instantly hit his stride, finding Kagiso Rabada's edge at the first time of asking.
There was no hat-trick, Anrich Nortje offering no stroke as it sailed through, but Anderson soon had the number 11 to wrap up exemplary figures of five for 40. As well as handing the veteran seamer yet another landmark achievement the wicket also proved also saw Stokes hold his fifth catch of the innings, the first non-wicketkeeper to do so for England.
The advantage was considerably better than England would have anticipated when they were all out for 269 but also vulnerable if their inexperienced top order failed to make an impression.
Zak Crawley began confidently, belying two single-figure scores to start his Test career, ignoring a couple of bruising blows from Rabada to score 25 of the first 28 runs.
It was a slightly frantic, if effective, start, ending when he aimed Rabada through extra cover and only found the wicketkeeper's gloves.
Things slowed to a crawl once Joe Denly joined Sibley, the pair nudging the lead to 98 at lunch before an afternoon session that was tantamount to shadow-boxing with just 57 runs added.
Denly briefly attempted to disrupt Maharaj's attempts to pin down one end, using his feet to pick out the long-off boundary and then carving over cover. The latter shot lacked control and could easily have gone to hand, persuading the Kent man to put an end to such elaboration.
Sibley needed no such reminders, soaking up over after over and inviting the bowlers to drift towards his pads. South Africa finally broke up the duo after 73 painstaking runs, with Denly's pull redirecting a Nortje bouncer straight to fine leg.
Denly had once again given away a solid start but Sibley's focus did not dim as he ploughed on through the evening's play. He began to expand, squeezing four through cover and guiding to third man to bring his maiden Test fifty in 140 balls.
Root proved a welcome partner, scoring busily to take such burdens from Sibley and also offering close-up reminders of how and when to seek the gaps between backward point and third man. Sibley, assisted by a looser spell from Maharaj, was soon following suit.
The England captain fell 10 minutes before the close, steering Pretorius to slip, with nightwatchman Dom Bess out to the final ball of the day. That saw him bag a pair on his recall, but England may find their final position strengthened by Stokes' early arrival in the morning.