The hosts, playing for the first time in almost three weeks after their last game against France was postponed, led 17-10 at halftime thanks to tries from Keith Earls and Tommy Bowe but were far from convincing as a Sergio Parisse try kept Italy in touch.
Ireland took much better control of the second half with two Jonathan Sexton penalties giving Declan Kidney's side some breathing space before wing Bowe's second try just after the hour put the contest beyond the Italians.
Replacement prop Tom Court scored his first Irish try three minutes from time and wing Andrew Trimble added a fifth to ensure Ireland won a first home game in four and kept their 15-year winning streak against the Italians intact.