South Africa 22 England 24

Saracens’ Max Malins converted a late try from England under-20s captain Zach Mercer to seal a dramatic victory over South Africa and a place in the final of the World Championship in Georgia.

They will now play either France or New Zealand in Sunday’s final at the Mikheil Meskhi Stadium (live on ITV4, 3pm kick off, BST).

England, with Saracens Ben Earl in their pack, had a five-point lead going into the break after Mercer and Alex Mitchell crossed for tries converted by Max Malins, who kicked a further penalty.

But South Africa responded with Juarno Augusto powering over either side of England’s tries with Curwin Bosch converting the first of those tries.

Another converted try from Ruben Van Heerden and a penalty from the boot of Bosch gave South Africa a five-point lead with a few minutes left on the clock before a moment of brilliance saw captain Mercer score under the posts.

Malins’ subsequent conversion sent England into the final and Mercer said: “We’re over the moon to reach the final, it’s something you always dream of. I said in the changing room before the game we wanted to put ourselves in territory we’ve never been before and that’s what we’ve done.

“We’ll have a couple of days rest now. Credit to South Africa for putting in such a big performance. It’s either New Zealand or France in the final but the boys are flying and there are plenty of smiles in that changing room.”

England: 15. Tom Parton (London Irish), 14. Darren Atkins (Bath Rugby), 13. Will Butler (Worcester Warriors), 12. Theo Brophy Clews (London Irish), 11. Gabriel Ibitoye (Harlequins), 10. Max Malins (Saracens), 9. Alex Mitchell (Northampton Saints), 1. Ollie Dawe (Bristol Rugby), 2. Joe Mullis (Gloucester Rugby), 3. Marcus Street (Exeter Chiefs), 4. Josh Caulfield (Exeter Chiefs), 5. Justin Clegg (Worcester Warriors), 6. Dino Lamb (Harlequins), 7. Ben Earl (Saracens), 8. Zach Mercer (Bath Rugby). Replacements: 16. Henry Walker (Gloucester Rugby), 17. Alex Seville (Gloucester Rugby), 18. Ciaran Knight (Gloucester Rugby), 19. Max Davies (Newcastle Falcons), 20. Josh Bayliss (Bath Rugby), 21. Harry Randall (Gloucester Rugby), 22. Jacob Umaga (Wasps), 23. Paolo Odogwu (Sale Sharks).