The tourists went in front through a Danny Care try, although Morne Steyn had edged South Africa into a 9-8 lead by the interval.
The Springboks looked to have taken control through JP Pietersen's try, but Owen Farrell's penalty levelled things and set up a tense final 10 minutes.
South Africa saw their pressure fizzle out, and as the klaxon sounded, England were in possession.
Farrell tried a drop goal to win the game, but scuffed it low, resulting in the first draw between the sides since South Africa's readmission to international sport.
An impressive start from England, yielding an early penalty which Toby Flood popped over the posts, set the tone – though South Africa hit back through the boot of Steyn almost immediately.
It was the visitors on the front foot, however, and scrum-half Care marked his return to action with a try after just 11 minutes – finishing a chance which began when Thomas Waldrom charged down a clearing kick from Steyn.
It was his fourth score for England, and capped an impressive return into the international fold after disciplinary issues off the field.
But fly-half Flood struggled after injuring his knee in an early tackle, and having failed to kick the conversion, he played on for only a couple of minutes more before being withdrawn on his 50th appearance for England.
Owen Farrell replaced him, and continued England’s momentum, but as the half wore on, the initiative swung back to the men in green.
Confident kicking from Steyn edged the Springboks back in front, and as they began to control possession and territory, the points looked sure to follow.
That they did not was credit to a stout defensive effort from England, and with South Africa forced to wait, the handling errors came.
England nudged back into the lead at 11-9 early in the second half after Chris Ashton’s monstrous tackle on Gio Aplon led to a kickable penalty for Farrell.
But South Africa were handed the advantage once again when stand-in skipper Dylan Hartley was yellow-carded after one transgression from the England forwards too many.
England weathered the 10-minute spell without their hooker admirably, but when he did return to the pitch the Springboks mounted an attack which they could not withstand.
After powerful work from the forwards, substitute scrum-half Ruan Pienaar released Pietersen to score.
Steyn’s boot let him down, missing the conversion and a couple of penalty and drop goal chances to keep England’s hopes alive after Farrell’s late penalty.
The Springbok fly-half has been metronomic for most of his international career, but with the crowd voicing their frustration with his display South Africa dallied with their chance to win the game with a drop goal, and gave away a penalty in the process.
England had a chance of their own at the death to seal the victory, but Farrell fell short of capping a consolation triumph.