Wales' Grand Slam dreams were shattered as England secured the U20s Six Nations title with victory in Colwyn Bay.
Harry Wells scored tries in each half as England secured their third successive title in a tight game.
Jack Nowell scored the opening try to set England on their way with Harry Slade contributing 13 points with his boot.
Sam Davies scored 15 points with an impressive kicking display but it was not enough for Danny Wilson's side.
The result means Wales have still not beaten England at Under-20 level.
Wales U20 head coach Danny Wilson: "We're disappointed, especially with the second half performance. We made some poor decisions at times but we were against a much better opposition.
"We got a number of things wrong on the night. We struggled to control territory and possession as well as we have done in recent performances.
"We'll build from this for the World Cup. [It was] our first loss of the campaign so there's plenty to be positive about and we'll keep working forward on."
England U20 head coach Rob Hunter: "It's a massive achievement and the guys deserve all the credit - they're a hard working group and this trophy is their reward for the work that they have put in.
"Wales gave it a real go and full credit to them, we never felt comfortable."
Wales U20: Jordan Williams (Scarlets/Llanelli); Harry Robinson (Blues), Cory Allen (Blues/Cardiff), Jack Dixon (Dragons), Ashley Evans (Ospreys/Bridgend); Sam Davies (Ospreys/Swansea), Rhodri Williams (Scarlets/Llandovery); Nicky Thomas (Ospreys/Swansea), Elliot Dee (Bedwas), Nicky Smith (Ospreys/Swansea), Carwyn Jones (Scarlets/Carmarthen), Rhodri Hughes (Ospreys/Swansea), Ellis Jenkins (capt, Blues/Cardiff), Daniel Thomas (Scarlets/Llanelli), Ieuan Jones (Dragons).
Replacements: Ethan Lewis (Blues/Cardiff), Gareth Thomas (Scarlets /Carmarthen), Dan Suter (Ospreys/Bridgend), Jack Jones (Ospreys/Rovigo), Sion Bennett (Scarlets/Carmarthen) Joshua Davies (Dragons/Bedwas), Hallam Amos (Dragons), Steffan Hughes (Scarlets/Llanelli).
England U20: Ollie Devoto (Bath Rugby); Anthony Watson (London Irish), Tom Stephenson (Northampton Saints), Sam Hill (Exeter Chiefs), Jack Nowell (Exeter Chiefs); Henry Slade (Exeter Chiefs), Callum Braley (Bristol Rugby); Luke Cowan-Dickie (Exeter Chiefs), Nathan Morris (London Wasps), Kyle Sinckler (Harlequins), Elliott Stooke (Gloucester Rugby), Dominic Barrow (Leeds Carnegie), Harry Wells (Leicester Tigers), David Sisi (London Irish), Jack Clifford (Harlequins).
Replacements:. Max Crumpton (Saracens), Danny Hobbs-Awoyemi (Northampton Saints), Danny Herriott (Northampton Saints), Tom Jubb (Saracens), Gus Jones (London Wasps), Alex Day (Northampton Saints), Henry Purdy (Leicester Tigers), Ben Howard (Worcester Warriors).