Ireland went top of the RBS Six Nations table after overcoming some spirited resistance from Italy in Rome.
The Irish looked unsettled early on and gave away two penalties which fly-half Luke Mclean landed for a 6-0 lead.
But after that sloppy start, tries from Tommy Bowe and Luke Fitzgerald saw the Irish assume control by half-time.
The visitors added a third try when flanker David Wallace got over early in the second half, and Fitzgerald and Brian O'Driscoll pounced late on.
Scoreline flattered us - Kidney
The late tries gave Ireland a scoreline which had looked unlikely after a torrid opening 20 minutes.
Italy set their stall out right from the off with full-back Andrea Masi sin-binned in the first minute for a reckless and high straight arm challenge on Rob Kearney.
The challenge, and Italy's uncompromising approach, seemed to shake Ireland up and it was the home side that made the better start.
McLean's penalties put them six points to the good before Ospreys star Bowe raced away for an 18th-minute touchdown.
The former Ulster player pounced on a misplaced pass and, with three Italians chasing him, just made the line despite the challenge of Kaine Robertson.
McLean's third penalty then edged Italy 9-7 ahead, and Ireland seemed to be headed for trouble when fly-half Ronan O'Gara was sin-binned for tackling Gonzalo Canale without the ball.
O'Gara's fellow playmaker Paddy Wallace soon followed him off the pitch with blood gushing from his head.
But the numbers were evened up when Italy prop Salvatore Perugini joined O'Gara in the sin-bin for infringing at the line-out.
Ireland spent a long spell at the end of the first half encamped close to the Italian line and 19 phases of play ended with Ulster's Stephen Ferris charging forward to offload for Leinster wing Fitzgerald to dash home for his first international try.
In the absence of O'Gara and Paddy Wallace, full-back Kearney added the simple conversion.
Italian courage is not enough - Mallett
The pattern was similar at the start of the second half as Ireland sought to end Italy's stiff resistance.
The visitors capped another period of pressure with flanker David Wallace finding a way through for this 11th international try and O'Gara adding the conversion.
In the last five minutes, Ireland got two more tries to give the final result a one-sided look.
Fitzgerald's nice exchange with Leinster team-mate Gordon D'Arcy gave the winger his second try.
Then skipper O'Driscoll ran away for an intercept try - his 19th in the Six Nations and 34th for Ireland overall.
Italy:
Masi, Robertson, Canale, M. Bergamasco, Pratichetti, McLean, Griffen, Perugini, Ongaro, Castrogiovanni, Dellape, Reato, Zanni, M. Bergamasco, Parisse.
Replacements:
Bacchetti for Robertson (20), Garcia for Canale (48), Toniolatti for McLean (72), Festuccia for Ongaro (41), Nieto for Castrogiovanni (33), Del Fava for Dellape (48), Sole for Reato (48).
Sin Bin:
Masi (1), Perugini (36).
Ireland:
Kearney, Bowe, B. O'Driscoll, P. Wallace, Fitzgerald, O'Gara, O'Leary, Horan, Flannery, Hayes, O'Callaghan, O'Connell, Ferris, D. Wallace, Heaslip.
Replacements:
D'Arcy for P. Wallace (41), Stringer for O'Leary (72), Court for Horan (55), Best for Flannery (60), O'Kelly for O'Connell (77), Leamy for Ferris (62).
Bookmark with:
What are these?