England fell to their fifth consecutive defeat as South Africa profited from another disappointing display.
Trailing by 14 points early in the second half, England responded with back-to-back tries from driving mauls for David Wilson and Ben Morgan.
But a burrowing try from Schalk Burger and 13 points from the boot of fly-half Pat Lambie made it 12 matches in a row since England last beat the Springboks.
Despite their stirring fightback, England only seldom exerted any control, errors from half-back pairing Danny Care and Owen Farrell costing them at pivotal moments.
With just 10 matches to go until the World Cup, England’s development as a team appears to have stalled, with the first serious questions being asked of the Stuart Lancaster regime.
Lambie opened the scoring with a straightforward penalty after Farrell’s ill-judged decision to run from deep put his side in trouble, and a more serious error then gifted the visitors a more significant score.
Care, winning his 50th cap, threw a slow, telegraphed pass after a stodgy series of attempted drives and centre Jan Serfontein intercepted to race away and under the posts from 60 metres.
Lambie’s conversion made it 10-0, and England were struggling – slow in thought, obvious in execution, Twickenham muted.