The Blues winger looked a threat every time he touched the ball. He showed a ruthless finishing streak to score just before halftime and right on the stroke of fulltime with Wales other tries coming courtesy of full-back Morgan Stoddart and two penalty tries.
Wales began shakily with Ryan Jones and Stoddart both dropping bombs before the fans had their first glimpse of new hero Halfpenny tearing after a James Hook chip but full-back James Pritchard was alert to the danger and touched down in goal.
Pritchard opened the scoring in the eighth minute with a simple penalty after Wales were caught off-side by referee Stuart Dickinson.
Hook had an opportunity to hit back immediatley but his penalty from wide out drifted past the uprights.
Wales were dealt a blow in the 19th minute when Hook was forced off with a right knee tendon injury, to be replaced by young Ospreys colleague Dan Bigger making his international debut.
The match was 25mins old before Wales burst into action. Mark Jones entered the backline from the blindside at pace before Stoddart sent Halfpenny dashing down the touchline only for the winger to be bundled into touch.
From the resultant lineout, Wales stole the lineout and spun the ball out for Stoddart to use his strength to go over in the corner for an unconverted try for Ryan Jones’s side to hit the front for the first time in the match.
Canada refused to bow and took the game to Wales and regained the lead in the 35th minute when Pritchard landed a long range penalty from halfway to put Canada 6-5 ahead.
Halfpenny had the fans jumping out of their seats just before the break when he left Justin Mensah-Coker clutching thin air before sliding infield and diving over the tryline under a posse of bodies for a brilliant individual try to give Wales a 10-6 lead at halftime.
Replacement fly-half Dan Biggar edged Wales further ahead six minutes into the second half with a well struck penalty. Andy Powell and Dwayne Peel were brought on to inject some pace and the double switch paid off. Powell immediately made an impact with a couple of telling runs and after a series of scrums close to the line, Wales earned a penalty try which Biggar improved with a conversion to give Wales a handy 20-6 advantage.
The Canadian scrum buckled again under their own posts to concede another converted penalty try as Wales attempted to finish the game with a flourish but the Canadians refused to cave in and for the second week week running a replacement fly-half saw his pass intercepted – this time centre Ryan Smith picked off a Biggar present to glide in from 40m, Pritchard adding the conversion to reduce the arrears to 27-13.
Just when it appeared Canada were going to have the last say, Halfpenny got on the end of a stunning Roberts break to canter under the posts to send the Wales fans home happy.