Slade saw an early penalty sail wide after six minutes and with ten on the clock Wales were ahead. Wing Ashley Evans spotted a gap in the English defence and it freed up fly half Sam Davies who sent a cross-field kick back over to Evans who caught and touched down.
Slade made no mistake with his second kick after 15 minutes, making it 5-3, but Wales hit back and extended their lead. First through a Davies penalty and then through Evans who scored his second try to make it 15-3 after collecting a loose Hepburn pass.
England did cross the try line in the first half through Tom Price, but it was chalked off and England were reduced to 14 men when lock Dom Barrow was sent to the sin-bin for kneeing during a ruck.
England's breakthrough came with 25 minutes to play, full back Nowell spotted a gap in the Welsh defence and raced through to touch down and Slade converted to make it 15-10.
Five minutes later and England had their second - centre Hill crashed over after sustained England pressure and Slade's conversion put England ahead for the first time at 17-15.
Two late Slade penalties pushed England further ahead, and despite a late push from Wales, Nick Walshe's side held out for their maiden JWC win.
Walshe said: "I'm absolutely delighted. The lads certainly did it the hard way, but we showed real character in the second half and it's amazing to get the win. We put a strong emphasis on performance, and in the second 40 we delivered. These guys have worked so hard, not only over the past few weeks, but over the course of the season, and they deserve their win."
Captain Jack Clifford said: "I'm so proud of all of the guys. Massive credit to Wales - they were excellent in the first half and we struggled to be honest, but we came out after the break and starting to build some momentum. To get the win is a dream come true - the highlight of my career."
Henry Slade said: "It's such an amazing feeling to win this trophy. It's the last time we'll play together as a group and we knew that we had one more performance left in us. We definitely did it the hard way, but we're just buzzing to actually get the win. Credit to the Welsh, they put up one hell of a fight - but we've done it, and I can't wait for it to sink in!"
Points:Nowell 1T, Hill 1T; Slade 3P, 1C
England Under 20 starting XV against Wales
15 Jack Nowell (Exeter Chiefs)
14 Anthony Watson (Bath Rugby)
13 Harry Sloan (Harlequins)
12 Sam Hill (Exeter Chiefs)
11 Ben Howard (Worcester Warriors)
10 Henry Slade (Exeter Chiefs)
9 Alex Day (Northampton Saints)
1 Alec Hepburn (London Wasps)
2 Luke Cowan-Dickie (Exeter Chiefs)
3 Scott Wilson (Newcastle Falcons)
4 Tom Price (Leicester Tigers)
5 Dominic Barrow (Leeds Carnegie)
6 Ross Moriarty (Gloucester Rugby)
7 Matt Hankin (Saracens) 8
Jack Clifford (Harlequins) (c)
16 Scott Spurling (Saracens) on for Matt Hankin 69 mins
17 Danny Hobbs-Awoyemi (Northampton Saints) on for Alex Hepburn 55 mins
18 Tom Smallbone (London Irish)
19 Harry Wells (Leicester Tigers) on for Tom Price 69 mins
20 David Sisi (Bath Rugby) on for Ross Moriarty 47 mins
21 Callum Braley (Bristol Rugby) on for Alex Day 52 mins
22 Ollie Devoto (Bath Rugby) on for Ben Howard 56 mins
23 Henry Purdy (Leicester Tigers) on for Harry Sloan 67 mins