Ireland moved a step closer to realising their Grand Slam dream despite an unconvincing display in Rome, as they held off a spirited Italy to claim a bonus-point win.
The Irish scored four tries before half-time through James Ryan, Hugo Keenan, Bundee Aki and Mack Hansen.
However, Stephen Varney and Pierre Bruno scores deservedly kept the hosts in touch at the break.
After absorbing Italian pressure, Hansen made sure of an Irish victory.
Ross Byrne, deputising for Johnny Sexton at fly-half, scored nine points including an important 65th-minute penalty to move Ireland seven points clear.
While Ireland will ultimately celebrate a third straight bonus-point win, a resurgent Italy asked serious questions of Andy Farrell's side in a match that bore little resemblance to Ireland's thumping win in Dublin last year.
Italy head coach Kieran Crowley will be heartened that his players put the world's number one side under severe pressure, making Farrell look uncomfortable for most of the afternoon.
However, the Englishman will be pleased that Ireland dug deep to deliver another result in front of a 51,034-strong crowd in the Italian capital and move two wins away from a Grand Slam, with Scotland at Murrayfield up next on 12 March.
Italy make it uncomfortable for Ireland
Given their stature in world rugby and record against Italy, Ireland went into this Test as overwhelming favourites to make it three wins from three in this year's championship.
Five minutes in, they were looking good for another emphatic win against a side they regularly beat with ease, but there was nothing easy about Ireland's performance as Italy caused enough issues to leave Farrell with plenty to ponder.
While James Lowe's second-minute effort was ruled out after a TMO review found he had lost control of the ball before grounding, Ryan was on hand to get Ireland up and running in the third minute after a superb Aki offload found Lowe.
Italy in years gone by perhaps would have crumbled at that point, but back they came in impressive fashion with Varney crossing after Lorenzo Cannone pierced the Irish defence with a powerful burst.
Ireland were offered a reprieve when Andrew Porter forced a turnover after another Cannone charge into the away side's 22, before Keenan collected an Aki pass, nimbly evaded a couple of blue shirts and scored a second Irish try.
Italy responded with a penalty from returning fly-half Paolo Garbisi but Ireland moved nine points clear on the 20-minute mark when Josh van der Flier and Lowe combined to send Aki over in the corner.
Ireland snatched the bonus-point score with five minutes of the first half left when Stuart McCloskey teed up Hansen in the corner, but Italy were given renewed hope when Bruno read Aki's attempted pass and ran in to score from 65 metres to leave Kieran Crowley's seven behind at the interval.
Hansen score kills Italian hopes of massive upset
Italy, who have attracted praise this year despite defeats by France and England in the opening two games, were understandably buoyed by their contribution to an enthralling first half and continued to put Ireland under pressure after the restart.
However, they only had a Garbisi penalty to show for their efforts and with Ireland under intense pressure 12 minutes from time, Juan Ignacio Brex let the visitors off the hook when he decided to kick for the corner and watched in anguish as the ball went dead.
Three minutes later, fine work from Caelan Doris and replacement scrum-half Conor Murray allowed Hansen to crash over under the posts and finally put Ireland out of the Italians' reach with Aki having earlier had a second try chalked off for a knock-on.
To their credit, Italy continued to attack in the closing stages but while Ireland were nowhere near their free-flowing best, Farrell's side ultimately passed another bruising assessment of their credentials and will travel to Edinburgh in a fortnight with a fourth Grand Slam still on the cards.
'Maybe it's a wake-up call'
Former Ireland back row Chris Henry, speaking on BBC Radio Ulster Sportsound: "If you're part of the Irish coaching team, you're going 'right, well there's lots to work on.
"That could be good. Maybe it's a wake-up call and they're going to have to fix a few key issues going into the last two games
"So much credit has to go to Italy, who were defensively outstanding. All the dominance and physicality came from Italy today. The scoreline does not reflect the amount of positivity for Italy."
Italy: Capuozzo; Padovani, Brex, Menoncello, Bruno; Garbisi, Varney; Fischetti, Nicotera, Ferrari, Cannone, Ruzza, Negri, Lamaro (capt), Cannone.
Replacements: Bigi, Zani, Riccioni, Iachizzi, Pettinelli, Fusco, Morisi, Allan.
Ireland: Keenan; Hansen, Aki, McCloskey, Lowe; R Byrne, Casey; Porter, Kelleher, Bealham; Henderson, Ryan (capt); Doris, Van der Flier, Conan.
Replacements: D Sheehan, Kilcoyne, O'Toole, Baird, O'Mahony, Murray, Crowley, O'Brien.