Williams took scrum-half Fabio Semenzato's poor clearance under no pressure, moved infield and sent Lee Byrne through a gap in Italy's disjointed defence.
Hook took the move on and found Warburton at his shoulder, the flanker running in for his first Test try for Jones to convert.
Warburton then thwarted an Italian threat with some good work, only to kick ahead when his defensive efforts paid dividends and Mitchell came away with the ball only for the flanker to ignore the overlap outside him.
But Wales were able to claim a 10-point interval lead after Stephen Jones penalties.
First the fly-half punished prop Martin Castrogiovanni for lying on Mike Phillips after halting the scrum-half's charge in which he flattened opposite number Semenzato.
Then lock Santiago Dellape fell offside, allowing the Welsh 10 to give his side a 21-11 half-time lead.
Bergamasco was unable to do likewise after visiting skipper Matthew Rees' high tackle, his shot going wide.
But the Azzurri had the upper hand in the third quarter forward exchanges, their big ball-carriers up front causing big problems for Wales while underlining their superiority in the scrums.
Williams stole away with loose possession and kicked ahead only for Hook's follow-up hack to bounce into touch in goal.
As Italy pressed again the pressure on Wales' defence finally told for home skipper Sergio Parisse to hold off Jones' challenge and cross at the corner.
Wales' James Hook celebrates his late drop-goal against Italy in Rome
Bergamasco was again off target with the conversion, leaving them five points from the lead.
But Italy were at least able to revel in an attacking game that belied their reputation for being unable to profit anywhere other than up front.
There was relief for Wales when Castrogiovanni was penalised at a scrum deep in the visitors' 22, but a not-straight throw-in by Rees at a line-out 15 minutes from time reminded Wales they remained vulnerable.
Rees' mistake led to the scrum penalty which replacement fly-half Luciano Orquera also failed to convert.
Wales were under pressure throughout most of the second period, but it was to no avail as, in a rare moment in Italy territory, their forwards gave Hook enough time and space to drop the goal that allowed them to hold out.
Italy: Luke McLean, Andrea Masi, Gonzalo Canale, Alberto Sgarbi, Mirco Bergamasco; Kristopher Burton, Fabio Semenzato; Salvatore Perugini, Leonardo Ghiraldini, Martin Castrogiovanni, Santiago Dellape, Quintin Geldenhuys, Alessandro Zanni, Robert Barbieri, Sergio Parisse (capt). Replacements: Andrea Lo Cicero (for Perugini, 40; Perugini for Castrogivanni, 71), Valerio Bernabo (for Dellape 52), Manoa Vosawai (for Barbieri, 72), Pablo Canavosio (for Semenzato, 71), Luciano Orquera (for Burton, 67), Tommaso Benvenuti (for Masi, 74). Unused: Carlo Festuccia.
Wales: Lee Byrne; Morgan Stoddart, James Hook, Jamie Roberts, Shane Williams; Stephen Jones, Mike Phillips; Paul James, Matthew Rees (capt), Craig Mitchell, Bradley Davies, Alun Wyn Jones, Dan Lydiate, Sam Warburton, Ryan Jones. Replacements: Richard Hibbard (for Rees, 78). Unused: John Yapp, Jonathan Thomas, Josh Turnbull, Tavis Knoyle, Rhys Priestland, Leigh Halfpenny.
Referee: Wayne Barnes (IRFU).
Touch judges: Dave Pearson (RFU) & John Lacey (RFU).
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.