Wales under-20s made it two wins out of two despite a rousing fight-back by Scotland in the IRB Junior World Championship in Nantes.
Wales scored tries by Aaron Warren and Steffan Hughes, both converted by Sam Davies, who also kicked three penalties and a drop goal.
Scotland hit back with tries by Adam Ashes and Eoghan Masterson, Tommy Allen converting one and kicking three penalties.
Wales next play Argentina on Thursday.
The Junior Pumas are also unbeaten, after their 28-16 win over Samoa on Sunday.
Wales opened their campaign with a comfortable 42-3 win over Samoa on Wednesday, 5 June.
Wales Under-20: Jordan Williams (Scarlets / Llanelli); Aaron Warren (Llandovery), Steffan Hughes (Scarlets / Llanelli), Thomas Pascoe (Blues / Pontypridd), Ashley Evans (Ospreys/ Bridgend); Sam Davies (Ospreys / Swansea), Rhodri Williams (Scarlets/ Llandovery); Nicky Smith (Ospreys/ Swansea),Elliot Dee (Dragons / Bedwas), Nicky Thomas (Ospreys / Swansea), Jack Jones (Ospreys / Rovigo), Rhodri Hughes (Ospreys/ Swansea), Ellis Jenkins (captain, Blues / Cardiff), Daniel Thomas (Scarlets / Llanelli), Sion Bennett (Scarlets/ Carmarthen)
Replacements: Ethan Lewis (Blues / Cardiff), Thomas Davies (Blues /Cardiff), Dan Suter (Ospreys/ Bridgend), Carwyn Jones (Scarlets/ Carmarthen), James Benjamin (Dragons/ Bedwas), Joshua Davies (Dragons / Bedwas), Owen Jenkins (Blues / Pontypridd), Jack Dixon (Dragons)
Scotland Under-20: Damien Hoyland (Boroughmuir), Jamie Farndale (Edinburgh Rugby/Edinburgh Accies), Robbie Fergusson (Ayr), Mark Bennett (Glasgow Warriors/Stirling County), Rory Hughes (Scotland 7s/Stirling County), Tommy Allan (Perpignan), Scott Steele (Leicester Tigers); Jamie Bhatti (Stirling County), Russell Anderson (Gala), D'Arcy Rae (Ayr) , Adam Sinclair (Perpignan), Jonny Gray (captain, Glasgow Warriors/Currie), Alex Henderson (Boroughmuir), Will Bordill (Sale Sharks), Adam Ashe (Glasgow Warriors/Stirling County)
Replacements: Callum Black (Edinburgh Accies), James Malcolm (GHA), Phil Cringle (Edinburgh Rugby/Stewart's Melville FP), Eoghan Masterson (Leinster), Tommy Spinks (London Scottish), Ali Price (Bedford Blues), Chris Auld (Edinburgh Rugby/Gala), Jamie Kilmartin (Bath Rugby)