Cape Town: Poor weather brought a limp end to a compelling second Test as England survived a final day onslaught from South Africa to draw the match and keep up their 1-0 lead in the series.
England were 159 for six in their second innings, with Jonny Bairstow (30) and Moeen Ali (10) unbeaten, before drizzle and bad light halted play soon after tea on Wednesday.
South Africa's quick bowlers made inroads in the morning to offer the likelihood of a remarkable come-from-behind victory after England had dominated the opening two days to amass 629 for six declared in their first innings.
South Africa clawed back over the next two days, keeping England in the field on hot, energy-sapping days as they slowly regained a foothold and eventually declared just two runs short of the visitors' total.
A four-wicket burst before lunch on Wednesday suddenly offered the tantalising possibility of a result and two more in the second session brought South Africa even closer to scuttling out England before chasing down a modest target.
But dogged resistance from Bairstow and Ali, in an unbroken 43-run partnership, and the gloomy weather dashed South Africa's hopes of pulling off a remarkable victory.
England started the day on 16-0 in their second innings, with a lead of 18 runs, but captain Alastair Cook was strangled down the leg side and caught by wicketkeeper Quinton de Kock off Kagiso Rabada's bowling with just the eighth ball of the morning. He went for eight with England having added a single to their overnight total.
Alex Hales (5) was then snagged by a brilliant diving one-handed catch from Chris Morris at slip to give Morne Morkel a deserved wicket after some fiery bowling.
Joe Root was caught in the slips by AB de Villiers off Morkel on 17 but television replays showed the bowler had stepped over the line.
But England's top-ranked batsman failed to capitalise on the reprieve and scored 12 more runs before being bowled by Morris to leave England on 55-3.
Nick Compton (15) fell 10 minutes before lunch after playing straight to Faf du Plessis at short mid-wicket as he became the first of three victims for Dane Piedt.
After the interval, the off spinner dismissed Ben Stokes, caught at deep square leg for 26, and James Taylor, who got a nasty bounce up onto his gloves and was caught by Temba Bavuma at short leg for 27.
The third Test will be at the Wanderers in Johannesburg from January 14-18. England won the first Test in Durban by 241 runs.