Italy seemed to have been stoked by rumours of splits within their camp in the build-up, and their powerful forwards - led superbly by man-of-the-match Sergio Parisse - ripped into Wales from the outset.
When the visitors' new front row of John Yapp, Huw Bennett and Rhys Thomas was blasted off a scrum Azzurri full-back Marcato slotted the resultant penalty.
The confidence of the home side was shown as they booted another kickable penalty to touch, but a fumble from the line-out drive eased the pressure on a Wales side that was looking disjointed with nine changes in personnel.
Hook boosted the hordes of visiting fans enjoying the Roman sunshine with a delightful midfield step and break, but the movement broke down when he spilled the ball in the off-load.
Shane Williams steps inside Sergio Parisse for Wales' first-half try
The fly-half - starting ahead of Stephen Jones for the first time this season - was struggling to control territory and possession, and he blew a simple penalty at goal.
Wales finally began to get their phase play together, dragging the Italian defence from right to left.
The Azzurri cracked, conceding a penalty under the shadow of the posts, but Wales continued to play the advantage and won the reward, a try created by the off-the-ball running of Henson.
The centre, making his first Wales start for a year, looped off new captain Alun Wyn Jones' pass, drew his man, and fed winger Williams.
Wales' record try scorer made no mistake with the simple finish, ignoring an overlap to step inside the covering Parisse and score near the posts.
Hook converted, but Italy fired straight back with another powerful scrum that led to Marcato's second penalty.
Another Marcato kick restored the Azzurri lead, skipper Jones conceding the penalty with an over-eager attempt to steal ball at the ruck.
Gatland critical despite win over Italy
The home side came agonisingly close to adding a try before the break as Luke McLean's cross-kick into the 22 was allowed to bounce between Hook and Mark Jones.
The ball squirmed free over the line when the Welsh pair attempted to gather under pressure from Giulio Rubini.
A scrabbling Jones was just able to minor the ball for a scrum five, where Yapp was warned for dropping the set piece.
The re-set scrum creaked but held out, before Marcato missed a drop-goal attempt, the final move of the half.
Wales' nervousness increased as Italy controlled the start of the second period, and when Williams was isolated in a tackle Marcato built the lead with a long-range 56th-minute penalty.
Wales coach Warren Gatland immediately sent on experienced replacements from the bench, Gethin Jenkins, Matthew Rees and regular captain Ryan Jones making their entry.
Hook landed an excellent long-range penalty to cut the deficit to 12-10 as Wales immediately found a new tempo to their game.
A sweeping attack stretched the Azzurri defence and they conceded a penalty at the ruck, Hook holding his nerve to boot Wales ahead from the sideline.
Parisse disappointed with loss
Shanklin came on for the injured Lee Byrne, and immediately conceded a penalty trying to steal the ball in the tackle, Marcato's fifth kick making it 15-13.
But the centre soon made amends in style, Hook dummying inside before breaking outside, his pass drawing in the cover defence to allow Shanklin to power home.
Hook's excellent conversion from the sidelines left Italy needing a try.
Late replacement Stephen Jones - seeking to close a pre-match 23-point deficit to title rivals Ireland - tried a long-range penalty at goal when 80 minutes were up, allowing the Azzurri one last attempt at a counter attack, but their blunt attacking edge was easily nullified.
Ireland's 22-15 win over Scotland means Wales must beat Declan Kidney's Grand Slam-chasing side by more than 13 points to have a chance of the Championship when they meet at Cardiff's Millennium Stadium next Saturday.
France will also be in the title mix if they beat England at Twickenham this Sunday.
Italy: Marcato, Rubini, Canale, M. Bergamasco, Pratichetti, McLean, Griffen, Perugini, Ghiraldini, Nieto, Dellape, Bortolami, Zanni, M. Bergamasco, Parisse. Replacements: Orquera for Marcato (75), Canavosio for Griffen (66), Castrogiovanni for Nieto (50), Del Fava for Dellape (50), Sole for Bortolami (64). Not Used: Sbaraglini, Quartaroli.
Wales: Byrne, M. Jones, Roberts, Henson, Williams, Hook, Phillips, Yapp, Bennett, R. Thomas, Charteris, A. Jones, J. Thomas, D. Jones, Powell. Replacements: Shanklin for Byrne (68), S. Jones for Hook (75), Rees for Bennett (57), Jenkins, R. Jones, Davies for Charteris (66). Not Used: Fury.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.