Dom Bess grabbed himself a slice of history with a maiden five-wicket haul in Port Elizabeth before a lengthy rain delay and three dropped catches from Ben Stokes halted England's victory push in the third Test against South Africa.
Bess, aged 22 and 180 days, became the youngest English spinner to take an overseas five-for during a stirring third morning that seemed to leave the Proteas hanging by a thread, 386 behind on 113 for five.
But showers delayed play for over three hours through the middle of the day and England struck just once more in an extended evening session as South Africa closed on 208 for six, 92 away from avoiding the follow-on.
Bess closed with figures of five for 51, an incredible return for a player who spends much of his county career as understudy to Jack Leach and was a late call-up to the tour as illness cover for his Somerset team-mate.
Stokes was the man to finally see off the stoic nightwatchman Anrich Nortje, who lasted 136 balls, but a hat-trick of uncharacteristic spills at slip spared the dangerous Quinton de Kock on 30, 56 and 63.
All three were relatively simple for a man of Stokes' reactions, two off the occasional spin of his captain Joe Root and one in the penultimate over from Joe Denly. Root also had a drop on his account, spilling Nortje off Bess less than halfway through his stay.
Bess had struck twice during an exploratory spell under the floodlights on day two and was back in thick of things as South Africa resumed at 60 for two. It helped to have Mark Wood at the other end, leaving the batsmen hopping at 90mph and more. Dean Elgar was forced back by the paceman and remained pinned to the crease against Bess.
A thick edge, a ricochet off the pad and a brilliant low catch at silly point by Ollie Pope and England were off and running in the fourth over. The under-pressure Faf du Plessis was next to the crease, in sore need of a captain's innings but only able to produce the briefest of cameos.
He came out with clear intent, drilling Bess for successive boundaries, but when the bowler adjusted his line to go round the wicket Du Plessis' only answer was to ping an inside edge to the alert Pope.
Wheeling away unchanged at the Duck Pond End, Bess should have had his fifth when Nortje made his first misjudgement in 62 deliveries. He fed Root at slip but saw the ball juggled to the turf.
Rassie van der Dussen decided to take the game the game to Bess, hurrying the score past 100 with a couple of swats past mid-on, but soon paid the price. Two balls after Pope put down the first of two tough chances at short-leg, Bess cramped him with turn and watched as Van der Dussen chopped down leg stump.
The Somerset man had shaved 74 days off Eric Hollies' record for a young English spinner, set in 1935, and become the third youngest slow bowler to take a five-for England after Derek Underwood and Pat Pocock.
The rain arrived soon after, bringing an early break then wiping out most of the afternoon before the resumption at 3.30pm.
English momentum was successfully dampened during the long wait, Bess gamely trying to reconnect with his hot streak to no avail and the seamers struggling with a damp ball.
Nortje continued to offer blank resistance but De Kock was a different proposition, announcing himself with four early boundaries off Wood. He was reprieved on 30 when he nicked Root to slip, where the ball squirmed through Stokes' usually reliable hands at shin height.
Offered his first bowl of the innings after 63 overs he atoned by finding Nortje's outside edge with his 10th delivery. This time Root clung on.
With more bad weather predicted over the last two days England needed to wrap things up but the aggressive De Kock continued to benefit from Stokes' off-day, putting down his second of the day reaching above his head and then grassing a low one as Denly generated one last opportunity.
One wicket in 39 overs was a disappointing return after the earlier successes and England will need to take every catch that comes their way between showers if they are to stay on course for a 2-1 series lead.