Wales completed their World Cup warm-ups with a hard-fought win over Argentina at the Millennium Stadium.
Pumas fly-half Felipe Contepomi struck the opening penalty, but Wales were 14-3 ahead at the break through tries from Andy Powell and Alun Wyn Jones.
James Hook added both conversions and two penalties before wing George North crossed for a decisive third Wales try.
Martin Scelzo went over for Argentina late on, but Hook's late penalty capped a morale-boosting Wales victory.
Prop Adam Jones impressed on his return to the Welsh front-row following a toe injury.
But another member of Wales' Jones contingent was not so fortunate, with the hosts forced into a bench reshuffle before kick-off when Stephen Jones withdrew with a recurrence of his calf problem.
The fly-half had been set to become Wales' most-capped player, making his 101st appearance, but instead centre Scott Williams took his place amongst the replacements.
Contepomi had the first chance of points, but the Pumas captain sent the penalty kick across the face of the Wales posts.
A snap drop-goal also drifted wide as Argentina kept Wales pinned in their own half with some fierce first-up tackling.
But when Rodrigo Roncero was penalised for pulling down a scrum, Hook was able to kick Wales into the visitors' 22 for the first time.
A series of drives opened a gap on the right and Lee Byrne made the extra man to send the ball on to Leigh Halfpenny.
The wing, back in the side after a long-term ankle injury, made for the corner but was dragged down just short.
When Wales were caught offside, Contepomi was handed another penalty and this time sent the ball over the bar, although off the inside of a post.
But the fly-half missed a third attempt soon after the half-hour mark and Wales made the most of their let-off with two tries in quick succession.
First Powell charged across the line when scrum-half Knoyle sniped around a ruck, before linking with Alun Wyn Jones who sent his number eight away.
Then it was lock Jones' turn to cross after a 30-yard break by wing North, the beneficiary of some hard driving by Dan Lydiate and quick hands from Jamie Roberts.
Hook converted both tries and Wales were able to scamper off at half-time with a healthy 14-3 lead.
The Wales fly-half added two penalties soon after the break when referee Romain Poite penalised the Pumas for wheeling a scrum and then hands in the ruck.
The visitors then had number eight Juan Martin Fernandez Lobbe sin-binned after taking out Alun Wyn Jones in mid-air.
Despite the Pumas being a man light Contepomi kicked his second penalty to make it 20-6, but with the lead still comfortable Wales coach Warren Gatland opted to freshen things from the bench.
Among the arrivals was Cardiff Blues scrum-half Lloyd Williams to win his first cap, following in the footsteps of his father Brynmor, the ex-Wales and British & Irish Irish Lions number nine.
Lloyd Williams replaced the excellent Knoyle, who must surely have booked his World Cup place.
Another youngster, Ospreys flanker Justin Tipuric, also came on for his Test debut to replace the 35-year-old stand-in skipper Martyn Williams.
Cardiff Blues flanker Williams was winning his 99th cap and on this performance should still be hopeful of more at the World Cup.
Wales rubber stamped their dominance with a third try as Jonathan Davies' clever inside flick found North, who crashed over from close range.
Argentina rallied to threaten the Wales line in the dying moments, shoving replacement prop Martin Scelzo over after a driving line-out.
But Hook added a late penalty to make Wales' lead 28-13 and send them off in good heart to their opening World Cup clash with South Africa on 11 September.
Wales: Byrne; Halfpenny, J Davies, Roberts, North; Hook, Knoyle; James, Hibbard, A Jones, B Davies, A W Jones, Lydiate, M Williams (capt), Powell.
Replacements: Bennett (for Hibbard, 62), Bevington (for James, 63), J Thomas (for Lydiate, 58), Tipuric (for M Williams, 68), L Williams (for Knoyle, 62), Scott Williams (for Roberts, 67), Brew (for Byrne, 58).
Argentina: Rodriguez; Agulla, Bosch, Fernandez, Camacho; Contepomi (capt), Vergallo; Roncero, Ledesma, Figallo, Carizza, Albacete, Farias Cabello, Leguizamon, Fernandez Lobbe.
Replacements: Creevy (for Ledesma, 52), Scelzo (for Roncero, 69), Galarza (for Carizza, 70), Campos (for Leguizamon, 66), Lalanne, Sanchez, Jose Imhoff (for Camacho, 40).
Sin Bin: Fernandez Lobbe (54).
Referee: Romain Poite (France)