Zak Crawley and Dom Sibley became the first England openers to post a century stand in over three years but South Africa fought back to leave the fourth Test in the balance on day one in Johannesburg.

The entire morning session at the Wanderers was wiped out by weather but when play was finally able to get going three hours and 20 minutes later, Crawley (66) and Sibley (44) set to work on a fine first-wicket partnership worth 107.

The last time England’s top two put on three figures was back in 2016, when Sir Alastair Cook and Keaton Jennings added 103 in Chennai, and while that should have been the cornerstone of a sizeable total, South Africa had other ideas.

They took four wickets for 50 in a spell of challenging pace bowling, leaving Joe Root and Ollie Pope to prevent further damage by the time bad light brought an early finish at 192-4.

After Sibley was caught off a Philander no-ball, three boundaries off Dwaine Pretorius took a fluent Crawley to 49 and, after taking a single off his 80th delivery, the 21-year-old raised his bat for the first time at this level.

Wirth England 100-0 at tea, the first building blocks of a big first-innings score were in position but South Africa rallied in the evening.

Sibley was first to go, debutant Beuran Hendricks generating some extra bounce and picking up an edge down the leg-side. Having seen his partner fall, Crawley followed when a chunky edge off Philander zipped through to Rassie van der Dussen.

He also caught Joe Denly, whose skittish 27 had already profited from two drops, and then held the big wicket of Stokes, gone for just two, off Nortje.

As he walked off towards the tunnel Stokes appeared to react furiously to comments from a fan in the stand, with an audible obscenity likely to land him in hot water.

Root and Pope, who reached 25no and 22no respectively, were tested hard by some fierce deliveries on a pitch that was belatedly waking up, but held on for stumps.