Italy deservedly led Ireland 16-12 at half-time in Rome, but Joe Schmidt's side just about did enough to avoid a huge Six Nations upset.
Ireland were given a Six Nations scare by Italy but the defending champions fought back in the second half to claim an attritional 26-16 bonus-point win at Stadio Olimpico.
Vibrant Italy were sensing a sensational victory when they led 16-12 at half-time in Rome on Sunday, Edoardo Padovani and Luca Morisi crossing following tries from Quinn Roux and Jacob Stockdale.
The Azzurri were unable to prevent a 20th consecutive defeat in the tournament against head coach Conor O'Shea's country of birth, as scores from Keith Earls and Conor Murray spared Ireland's blushes.
A hard-fought second successive triumph moves the holders up to third place, three points adrift of leaders Wales with two matches remaining.
Italy were hugely impressive in a first half which included two Tommaso Allan penalties, but ran out of steam in the second as Ireland ground them down.
Ian McKinley failed to salvage what would have been a richly deserved first point for Italy when he dragged a penalty wide right at the end.