Wales edged Italy 23-19 at the Millennium Stadium but suffered a huge blow as Rhys Webb and Leigh Halfpenny were stretchered off.
For the scrum-half the key moment happened 25 minutes in, when Webb had his leg caught in a ruck and buckled under the weight of players, letting out a huge scream as he suffered the injury.
He required oxygen on the pitch, and will surely miss the World Cup as a result, with initial reports suggesting he suffered a broken ankle.
And there was another long delay in the second half after Halfpenny went down while chasing a bouncing ball, and was stretchered off in turn with a leg injury.
The Welsh were desperately poor in the first half, trailing 11-8 at the break after conceding a try just two minutes into the game.
Sergio Parisse picked off a pass in his own half, and while he didn't have the pace to go all the way, Leonardo Sarto popped up to cross after quick ball at the ruck.
Tommaso Allan missed the conversion but made up for it with a penalty five minutes later to stretch the lead to eight points after as many minutes.
Wales reacted on 12 minutes with their only try as Scott Williams made an initial break before delivering the final miss-pass to put George North over for the easy finish.
Halfpenny missed the conversion, before Wales lost Webb, leading to a long delay as he was being treated.
A penalty in front of the Italian posts allowed Halfpenny to level the scores, but Italy moved back in front thanks to an Allan penalty on the half-hour following a late tackle by Dominic Day.
Wales came back stronger in the second half, and two penalties from Halfpenny, the second after a powerful scrum, allowed them to take the lead for the first time on the hour.
Italy came straight back up the other end, and replacement fly-half Carlo Canna slotted a drop goal with the help of the post to make it 14-14.
They weren't level for long though, with Edoardo Gori penalised for blocking Dan Biggar from the restart, and Halfpenny making no mistake, before a huge break from Ross Moriarty led to another penalty from the full-back.
That would be Halfpenny's last contribution, as he then injured himself while chasing an awkward bounce from an up and under and seeming to injure his knee in the process with ten minutes to go.
Biggar made sure of the win when he took over kicking duties with a penalty five minutes from time, but Italy had the final word, with replacement Gulgielmo Palazzani going over in the corner after good ball retention in the build-up.
Overall it was a miserable afternoon for Warren Gatland, who saw his team struggle to see off a stubborn Italian side whilst potentially losing two key players for the World Cup.
Man of the match: After the impressive performances of Justin Tipuric in recent weeks, Sam Warburton clearly wanted to lay down a marker. He certainly did that with a consummate display at openside.
Moment of the match: Sadly it was Webb's injury. A crushing blow for the scrum-half, who had enjoyed a fantastic season for both Wales and the Ospreys.
Villain of the match: No nasty stuff to report.
Pens: Halfpenny 6, Biggar
Tries: Sarto, Palazzani
Pens: Allan 2
Drop Goal: Canna
Wales: 15 Leigh Halfpenny, 14 Alex Cuthbert, 13 Cory Allen, 12 Scott Williams, 11 George North, 10 Dan Biggar, 9 Rhys Webb, 8 Taulupe Faletau, 7 Sam Warburton, 6 James King, 5 Dominic Day, 4 Jake Ball, 3 Tomas Francis, 2 Ken Owens, 1 Gethin Jenkins.
Replacements: 16 Kristian Dacey, 17 Paul James, 18 Aaron Jarvis, 19 Luke Charteris, 20 Ross Moriarty, 21 Gareth Davies, 22 Rhys Priestland, 23 Matthew Morgan.
Italy: 15 Andrea Masi, 14 Leonardo Sarto, 13 Luca Morisi, 12 Gonzalo Garcia, 11 Giovanbattista Venditti, 10 Tommaso Allan, 9 Edoardo Gori, 8 Sergio Parisse (c), 7 Francesco Minto, 6 Alessandro Zanni, 5 Joshua Furno, 4 Quintin Geldenhuys, 3 Martin Castrogiovanni, 2 Leonardo Ghiraldini, 1 Michele Rizzo.
Replacements: 16 Andrea Manici, 17 Matias Aguero, 18 Lorenzo Cittadini, 19 Valerio Bernabò, 20 Samuela Vunisa, 21 Guglielmo Palazzani, 22 Carlo Canna, 23 Luke McLean.
Venue: Millennium Stadium, Cardiff
Referee: George Clancy (Ireland)
Assistant referees: Greg Garner (England), Dudley Phillips (Ireland)
Television match official: Simon McDowell (Ireland)