England fell agonisingly short of a supreme upset and a fifth Rugby World Cup final as South Africa came on strong to snatch victory in Paris.
England were canny and committed in the first half, raining down kicks into the South Africa backfield, forcing a steady supply of penalties.
Owen Farrell converted four to send his side into the break with a 12-6 lead.
The Springboks chopped and changed their line-up after the break, but a Farrell drop-goal edged England further clear and to the brink of a seismic shock.
However, an RG Snyman try 10 minutes from time cut the underdogs’ lead to 15-13 before the Boks’ scrum power earned Handre Pollard the match-winning penalty in the 77th minute.
White shirts slumped to the sodden Stade de France turf, while elsewhere the tension and physicality of the contest spilled over with groups of players confronting each other.
England’s plan flounders in Paris rain
It was characteristic of an England side who never took a step back and took the fight to their fancied opposition.
The performance was also vindication for coach Steve Borthwick, who turned Leicester from relegation candidates to Premiership champions in 18 months and has produced another spectacular salvage job to guide England within a whisker of a final.
England had been outfoxed and outmuscled by the Springboks in the last Rugby World Cup final and at Twickenham last autumn. However, in this game, they started like the favourites, setting about South Africa with confidence and a clear plan.
Unfortunately, England’s plan floundered and the Springboks carried the day.
After beating hosts France by a similarly small margin on the same stage last weekend, South Africa will return to take on New Zealand in the showpiece match with both sides chasing a record fourth title.
England will face Argentina in the third-place play-off on Friday.