Joe Simpson and Noah Cato's first half tries rewarded England's forward superiority, only for two errors to let South Africa back into the game as captain Gerrit Jan van Velze and Cecil Afrika struck against the run of play.
But England's dominance up front - where they were more than a stone a man heavier than the Springboks - told in the third quarter as Alex Goode's penalties nudged them six points clear going into the last 10 minutes
And even though Francois Brummer pulled three points back to keep the tension at boiling point, prop Alex Corbisiero was driven over in injury time for the decisive try to book a final date with New Zealand at Swansea on Sunday night.
England: Alex Tait (Newcastle Falcons); Noah Cato (Saracens), Luke Eves (Bristol Rugby), Jordan Turner-Hall (Harlequins), Miles Benjamin (Worcester Warriors); Alex Goode (Saracens), Joe Simpson (London Wasps); Nathan Catt (Bath Rugby), Joe Gray (Northampton Saints), Alex Corbisiero (London Irish), Ben Thomas (Saracens), Gregor Gillanders (Leicester Tigers), Matthew Cox (Worcester Warriors), Calum Clark (Leeds Carnegie), Hugo Ellis (London Wasps, Captain).










