England U20s will play hosts France in the final of the World Rugby U20 Championship on Sunday (KO 18:00 BST, live on ITV 4).
Steve Bates’ side progressed through after they defeated Junior Springboks 32-31 in Narbonne on Tuesday to reach their sixth-consecutive final.
England led 22-7 at the break with tries from Tom Parton, Tom Hardwick, Ben White and seven points from the boot of Marcus Smith while South Africa responded with Sazi Sandi’s converted score.
They sealed victory through Jordan Olowofela’s converted try, although South Africa did score tries from Muller Uys, Ruan Nortje, Manuel Rass and Asenathi Ntlabakanye to narrow the deficit in a thrilling second half.
For England it will be an opportunity to add a fourth title after successes in 2013, 2014 and 2016 most recently in Manchester.
They will meet hosts France in Sunday’s finals day in Beziers after their victory over reigning champions New Zealand in Perpignan.
South Africa had an early yellow card, with No 8 Muller Uys sent to the sin bin for a late tackle on Marcus Smith.
And England made the Junior Springboks pay the penalty with Parton going over in the corner for the first points of the game before Hardwick powered through midfield for a second which Smith converted for 12-0.
There was better to come for England with White finishing off under the posts after a searing break by Gabriel Ibitoye on the right wing which Smith converted.
South Africa had their first points after Sandi bundled over from close range after a period of sustained pressure and Gianni Lombard’s conversion reduced the deficit to 19-7.
However, England had the final say of the half with Smith’s penalty giving them a 22-7 lead at the break.
The Junior Springboks had a second try shortly after the restart with Uys crashing over off the back of a driving maul but Smith kept the scoreboard ticking over with a second penalty.
South Africa had a third try, which Lombard converted but Olowofela ran in a loose ball on halfway, while Smith added the extras for a 32-19 lead.
Rass also went over to add more late drama and the Boks pressed further when James Scott was sin binned, and were rewarded with a try as Ntlabakanye powered in from two metres out. The conversion made it 32-31 to England with four minutes to play.
England though managed to hold onto the majority of possession through the frantic closing stages as they sealed a narrow one point win over the Boks.
Steve Bates said: “It is a great achievement for these guys, they played some really good rugby in the first half but couldn’t quite get enough ball in the second which meant it ended up being a tight game.
“Jordan’s try in the second half proved to be decisive and now we have a tough game to prepare for on Sunday.
“The first half went as we planned, we played quickly and stretched them really well. We moved the ball well and also counter attacked well.
“From the forwards perspective that was a gruelling game, and this side’s spirit shone through in those final moments. Now we have to recover and prepare for Sunday’s final.”
15. Tom Parton (London Irish), 14. Gabriel Ibitoye (Harlequins), 13. Fraser Dingwall (Northampton Saints), 12. Tom Hardwick (Leicester Tigers), 11. Jordan Olowofela (Leicester Tigers), 10. Marcus Smith (Harlequins), 9. Ben White (Leicester Tigers), 1. Alex Seville (Gloucester Rugby), 2. Henry Walker (Gloucester Rugby), 3. Joe Heyes (Leicester Tigers), 4. Joel Kpoku (Saracens), 5. James Scott (Worcester Warriors), 6. Ted Hill (Worcester Warriors), 7. Ben Curry – captain (Sale Sharks), 8. Josh Basham (London Irish).
16. Gabriel Oghre (Wasps), 17. Ciaran Knight (Gloucester Rugby), 18. Ehren Painter (Northampton Saints), 19. Tom Willis (Wasps Rugby), 20. Aaron Hinkley (Gloucester Rugby), 21. Rory Brand (London Irish), 22. James Grayson (Northampton Saints), 23. Will Butler (Worcester Warriors).
England U20 fixtures and results:
Pool B: England 39-18 Argentina
Pool B: England 43-5 Italy
Pool B: England 35-10 Scotland
Semi-final: England 32-31 South Africa
England – Tries: Parton, Hardwick, Smith, Olowofela Cons: Smith 3 Pens: Smith 2
Junior Springboks – Tries: Sandi, Uys, Nortje, Rass, Ntlabakanye Cons: Lombard 3
Finals day – Beziers, 17 June