The win means England will face France in their semi, a side who they beat 19-8 in this year's 6 Nations, and will be hoping to secure their ninth consecutive win under Hunter.
Tries from London Wasps centre Elliot Daly, Newcastle Falcons No. 8 Alex Gray and Wasps wing Christian Wade helped England to the success, while Leicester Tigers fly half George Ford scored 11 points with the boot.
England got off to a blistering start with Ford scoring a long range penalty before Daly showed great initiative to pick up a loose ball near the Springboks try-line, go round two men and touch down in the corner.
But South Africa came back into the game with a try of their own after 25 minutes. A simple line-out near England's try-line was taken cleanly and No. 6 Nizaam Carr went through the gap to score. The conversion was missed to keep the score at 8-5.
A Ford penalty then gave England an at 11-5 lead minutes later, but a long range South African penalty from No. 10 Johan Goosen made the score 11-8 after 37 minutes, and the fly half levelled things up at 11-apiece with another penalty just before the break.
England started the second half just as they had done the first, captain Alex Gray rounded off an excellent cross-field team move to score in the corner, but Ford's conversion sailed just wide.
South Africa came close to scoring their second try of the match five minutes later, but a last-ditch try saving tackle from Worcester's Matt Kvesic saved England. The Baby Boks did score their third penalty of the game soon after, Goosen again slotting between the posts to make the score 16-14 to England.
A Ford penalty momentarily reclaimed England's five-point lead, but a Goosen three-pointer made the score 19-17 with 15 to play.
Wasps wing Wade then showed why he's such hot property, scoring his fourth try of the competition, displaying great pace to evade several defenders before touching down between the sticks. Ford's conversion made the score 26-17, giving England a nine point lead with five minutes to play.
South Africa almost hit straight back, and would have done but for another try saving tackle, this time from Wasps lock Joe Launchbury. As the clock ticked past 80, Saracens prop Mako Vunipola was sinbinned for persistent offenses, and Goosen scored the resulting penalty to make the score 26-20.
With South African a converted try away from the lead, they began to exploit their man advantage, forcing a line-out on England's try-line, but replacement hooker Koree Britton found his man with a high pressure throw and England held out for the win.
Points: Daly 1T, Gray 1T, Wade 1T; Ford 3P, 1C.
England U20 starting XV v South Africa
15) Ben Ransom (Saracens)
14) Andy Short (Worcester Warriors)
13) Elliot Daly (London Wasps)
12) Owen Farrell (Saracens)
11) Marland Yarde (London Irish)
10) George Ford (Leicester Tigers)
9) Chris Cook (Bath Rugby)
1) Mako Vunipola (Saracens)
2) Mikey Haywood (Northampton Saints)
3) Henry Thomas (Sale Sharks)
4) Joe Launchbury (London Wasps)
5) Charlie Matthews (Harlequins)
6) Sam Jones (London Wasps)
7) Matt Kvesic (Worcester Warriors)
8) Alex Gray (c) (Newcastle Falcons)
16) Koree Britton (Gloucester Rugby) on for Mikey Haywood 79 mins
17) Ryan Bower (Leicester Tigers) on for Henry Thomas 65 mins
18) Sam Twomey (Harlequins)
19) Matt Everard (Leicester Tigers) on for Sam Jones 76 mins
20) Dan Robson (Gloucester Rugby)
21) Guy Armitage (London Irish) on for Elliot Daly 45 mins
22) Christian Wade (London Wasps) on for Marland Yarde 57 mins