A late intercept try by outstanding number eight Dan Baker gave Wales Under-20 a hard-fought Six Nations victory over Italy in Colwyn Bay.
Baker ran clear from the halfway line with five minutes remaining after reading John Apperley's pass.
Rob Evans and Luke Morgan scored Wales' other tries, with Sam Davies and Jordan Williams kicking the other points.
Guido Calabrese and Leonardo Sarto crossed for the Italians, who had led for the majority of the game.
Wales took until the 60th minute to go ahead for the first time when wing Morgan finished off a fine move after a half-break and superbly timed pass by centre Jack Dixon.
Apperley's third penalty soon brought the visitors level with 12 minutes to play and the momentum seemed to be in their favour as they dominated possession in the closing stages.
But Apperley's telegraphed pass was pounced upon by Baker, who raced away to score under the posts and capped a fine individual display.
That gave Wales their second victory in this season's championship after their previous visit to Eirias Park had resulted in a 28-15 win over Scotland.
WALES UNDER-20: Jordan Williams (Scarlets); Iolo Evans (Scarlets), Nathan Edwards (Bridgend RFC), Jack Dixon (Dragons), Luke Morgan (Ospreys); Sam Davies (Ospreys), Rhodri Williams (Scarlets); Rob Evans (Scarlets), Jamie Sollis (Dragons), WillGriff John (Blues), Matthew Screech (Blues), Rhodri Hughes (Ospreys), Ellis Jenkins (Blues, capt), Thomas Young (Blues), Dan Baker (Ospreys).
REPLACEMENTS: Darran Harris (Blues), Thomas Davies (Blues), Samson Lee (Scarlets), Jack Jones (Ospreys), Ieuan Jones (Dragons), Jonathan Evans (Dragons), Owen Williams (Scarlets) Ross Jones (Ospreys).
ITALY UNDER-20: David Odiete (Rugby Reggio); Angelo Esposito, (Ruggers Tarvisium), Giulio Bisegni, (Mantovani Lazio), Michele Campagbaro, (Rugby Mirano), Leonardo Sarto (Petrarca Padova); John Apperley (Rugby Reggio), Guido Calabrese (San Gregorio Catania); Sami Drissi (UR Capitolina), Giovanni Maistri (Cammi Calvisano), Pietro Ceccarelli, (Mantovani Lazio), Alessio Zdrilich (Ospitaletto Rugby), Matteo Ferro (Femi-CZ Rovigo), Jacopo Salvetti (Sertori Sondrio), Vittorio Marazzi (Sertori Sondrio), Federico Conforti (Petrarca Padova).
REPLACEMENTS: Alain Moriconi (UR Capitolina), Luca Scarsini (Udine Rugby), Antonio Brandolini (L'Aquila Rugby), Luca Alfio Mammana (L'Aquila Rugby), 20 Andrea De Marchi (Femi-CZ Rovigo), Edoardo Padovani (Marchiol Mogliano), Davide Farolini (Banca Monte Parma Crociati), Alex Morsellino (Petrarca Padova).