Wales fell behind after just two minutes when fly-half Patrick Jackson kicked a 30 metre penalty. Ireland looked fragile at the scrum but were let off when fly-half Matthew Morgan missed a straightforward penalty.
Welsh pressure eventually told when powerful centre George North burst through on a crash ball to score a try, converted by Morgan.
Ireland found possession hard to come by but were more than willing defenders. They conceded a second try just before the break when prop Rob Evans took a quick tap penalty to crash over near the posts for Morgan to convert.
Jackson narrowed the gap to 14-6 before wing Eli Walker set the game alight with some tremendous running from broken play. He set up the position for North to burst through tackles for his second try, converted again by the diminutive Morgan.
Wales looked ready to pull clear only to be stunned by a brace of well taken Irish tries. Both came from replacements - flanker Conor Gilsenan and wing Mark Corballis - and with Jackson converting one it was just 21-18 to Wales with seven minutes to go.
But the hosts composed themselves to get back on the attack and let replacement fly-half Joseff Griffin kick an angled penalty to seal the Welsh win with four minutes remaining.
Coach Simon King was more than happy with the first win of the tournament.
"Confidence wise, it's great to start with a victory and we can prepare for Italy in a very positive frame of mind. The front row went very well and was an important part of the first-half dominance.
"Ireland came back at us with the wind but we finished well to round off a good day."
WALES Tom Prydie (Ospreys); Harry Robinson (Blues), George North (Scarlets), Sam Campbell (Blues), Eli Walker (Ospreys); Matthew Morgan (Ospreys), Aled Davies (Scarlets); Rob Evans (Scarlets), Jack Dando (Blues), Samson Lee (Scarlets), Cory Hill (Blues), Luke Hamilton (Scarlets), Owen Sheppeard (Blues), Dan Baker (Ospreys), Tom Young (Blues - capt)
Replacements: Kirby Myhill (Scarlets) for Dando, Darran Harris (Blues) for Evans, Will Griff John (Blues for Lee), Matthew Screech (Blues) for Hamilton, Ellis Jenkins (Blues) for Young, Calum Thomas (Blues) for Sheppeard, Joseff Griffin (Blues) for Morgan, Leighton Bellamore (Dragons) for Campbell
Scorers: Wales Tries: G North (2), R Evans; Cons: M Morgan (3); Pen: J Griffin
Ireland: Tries: C Gilsenan, M Corballis; Cons: P Jackson; Pens: P Jackson (2)