Italy held the Irish scoreless for almost half an hour before Malcolm O'Kelly scored the first try, while Brian O'Driscoll's individual brilliance brought him his 24th try for his country.
Ronan O'Gara's inspired pass released Shane Horgan for a try to break Italian resistance in the second half, but O'Gara's kicking was troubled by wind so strong that at one point the corner flags were blown flat to the turf.
There was not surprisingly less of the brilliance that carried Ireland to a victory over world champions England in their last Six Nations match, but they did more than enough to win.
Ireland remain in with a chance of the Six Nations championship if they win their final match, against Wales in Cardiff, and England beat France in Paris next Sunday.
The impact of the gusty conditions was clear when O'Gara's early kick was blown wide of the posts.
With quarter of an hour played, Ireland drove to the line but a penalty was awarded and the Irish failed to convert their position into points.
With 20 minutes gone, the Italians were holding Ireland scoreless before O'Kelly scored the first try when he charged over the line after nicking a poor line-out throw from Italian reserve hooker Carlo Festuccia.
Ireland threatened again when Geordan Murphy stepped inside Gonzalo Canale, but was stopped a metre from the line.
However, O'Driscoll brilliantly extended their lead when he sprinted through the Italians, dummying as he went, to touch down.
O'Gara scored the conversion to put Ireland 12-0 ahead, although the wind pushed his ball against the post when he tried with a kick from inside the Italian 22 just before half-time.
Ireland began the second half in a scrappy fashion but their passing game was leaving the Italians looking increasingly ragged.
Italy missed a chance to get on the scoreboard when Roland De Marigny sliced his penalty kick wide before the pressure from the green shirts finally paid when O'Gara's deft pass released Horgan for a try under the posts and O'Gara added the conversion.
The visitors briefly threatened a try but Denis Dallan failed to hold a pass just short of the line.
Ireland suffered a momentary setback when O'Driscoll was forced to leave for the sin bin after a high tackle on Italian scrum half Paul Griffen.
De Marigny got Italy off the blocks with a penalty from in front of the posts to make it 19-3.