Brian Kerr's unbeaten home record as Republic of Ireland manager was ended by a classy Italian outfit in Dublin.
Italy's early domination culminated with Andrea Pirlo's upstoppable shot from 16 yards in the 10th minute.
Christian Vieri hit the Irish woodwork before Alberto Gilardino scrambled home Italy's second in the 31st minute.
Andy Reid pulled a goal back before the break and while Stephen Elliott went close and Clinton Morrison had a late effort disallowed, Italy held on.
Italy could have been ahead within the opening minute as Vieri went close with a snapshot from the edge of the Republic penalty area after some sloppy home defending.
Vieri was presented with another chance a minute later but he was unable to control Alessandro Del Piero's lofted ball over the Irish defence.
The Irish defence continued to look hesitant and Shay Given needed to make a brilliant pointblank save to deny Vieri in the ninth minute.
A minute later, the early Italian pressure was rewarded with Pirlo firing in an unstoppable shot after Given had made a brilliant reaction save to stop a Alberto Gilardino header.
Vieri was hugely unfortunate not to add to Italy's lead in the 28th minute when his volley from 25 yards came back off the woodwork after he had shown wonderful skill in connecting with Alessandro Nesta's 60-yard pass over the top of the Irish defence.
However with the Irish defence continuing to look at sixes and sevens, the second Italian goal came in the 31st minute when Gilardino finished to the net after his initial close-range effort had been brilliantly blocked by Given.
Andrea Pirlo's first half shot gave Shay Given no chance
The Irish appealed that Vieri had been offside but Portuguese referee Paulo Costa adjudged that the Milan striker had not been interfering with play.
To their credit, the Irish pulled a goal back within a minute with Andy Reid slamming the ball home from 12 yards after Cristian Zaccardo had made a complete hash of an attempted clearance.
The goal seemed to spur the Republic and substitute Ian Harte, on for the injured Matt Holland, went close to levelling four minutes from half-time with Roma scrambling to block the shot which had taken a deflection off John O'Shea.
The Italians made four changes at the break with Del Piero among those making way while Brian Kerr also opted to make a change with Andy O'Brien replacing Richard Dunne in the Irish defence.
The game became a tighter affair in the 15 minutes after half-time with the Italians having little difficulty in keeping the Irish at bay.
Damien Duff, well-shackled by the Italian defence, produced a rare moment of Irish inspiration in the 73rd minute but his low shot went just wide of the post.
Two minutes later, Clinton Morrison was presented with a chance to level but he was unable to hook his shot towards goal.
Italian substitute Vincenzo Iaquinta then missed a great chance to extend his side's lead in the 86th minute.
A minute later, Stephen Elliott had a great chance at the other end but goalkeeper Roma somehow managed to divert the Sunderland man's shot wide.
As the Irish pressed frantically in the closing stages, Clinton Morrison had the ball in the Italian net in injury-time after a clinical finish but the effort was ruled out for handball by the striker.
Rep of Ireland: Given, Finnan (Carr 57), Cunningham, Dunne (O'Brien 45), O'Shea (Miller 78), Holland (Harte 39), Kilbane, Steven Reid, Andy Reid (Elliott 74), Duff, Morrison.
Subs Not Used: Breen, Kenny, Doherty, Quinn, Colgan.
Goals: Andy Reid 32.
Italy: Roma, Zaccardo, Cannavaro (Barzagli 63), Nesta (Materazzi 45), Zambrotta, Gattuso, Pirlo (Barone 76), De Rossi (Grosso 45), Del Piero (Diana 45), Vieri, Gilardino (Iaquinta 45).
Subs Not Used: De Sanctis, Toni, Mesto, Guardalben.
Goals: Pirlo 10, Gilardino 31.
Ref: Paulo Costa (Portugal).