Gatland had seen Ireland traipse into the dressing-room trailing Italy by 11 points to 23 at half-time after a woeful display which began with the game just 55 seconds old.
That opening Italian try and stylish kicking of stand-off Diego Dominguez looked to have laid the foundations for Italy's fourth straight win over the Irish, but the rocket at the interval from Gatland was rewarded by four second-half tries as Ireland caught and then overtook the visitors.
"At half-time I told the players to get their act together," Gatland said. "I was very annoyed by the stupid mistakes made in the first half. To be fair the players held up their hands and accepted responsibility for the mistakes they had made. I told them to cut out the mistakes in the second half and make the most of the wind advantage."
Gatland also made a tactical switch, withdrawing Victor Costello, switching Dion O'Cuinneagain to Costello's No 8 position and throwing on Andy Ward in the vacated open-side flanker's role. Both the rant and the changes paid dividends as Ireland dominated the second half, running in four tries and restricting the Italians to just one late try and conversion.
Full-back Conor O'Shea began the fightback with a try in the right-hand corner. Eric Elwood narrowed the gap to four points and in the 55th minute the Lions' front rowers, Paul Wallace and Keith Wood, were brought off the bench at the expense of Justin Fitzpatrick and Ross Nesdale.
On the hour, Ireland moved to within a point of the Italians courtesy of an Elwood penalty and seven minutes later they took the lead through Girvan Dempsey's unconverted try.
O'Shea picked up the loose ball from a scrum to run under the posts for a try after 72 minutes, and in injury-time the Irish pack concluded affairs when skipper Paddy Johns rolled over to secure a win that had barely looked likely 40 minutes previously.
"We used the ball better in the second half, made fewer mistakes and were a lot quicker with our handling," Gatland said. "In fact the backline was probably better than at any time this season." Gatland conceded that Ireland's performance was not polished, saying: "Rome was not built in a day. This is all about team building."
The Italian coach, George Costas, was disappointed that his side threw away victory. "We actually scored five tries this afternoon and conceded two silly tries out of the three," he said. "We tried very hard, but our concentration dropped and that was very disappointing," The Italian coach added. "It was very significant that we gave at least 10 balls away, and at this level you can't afford to do that.
"The Irish did it too, which I don't mind, but I'm not too happy when we do it. But I'm very happy with the players we introduced and I'm quite convinced that, with proper preparation and all our players available, we will be more than able to hold our own in next year's Six Nations tournament."
Ireland: Tries Bishop, O'Shea 2, Dempsey, Johns; Conversion Elwood; Penalties Elwood 4. Italy: Tries Cristofoletto, Baroni,
Roselli; Conversions Dominguez 3; Penalty Dominguez; Drop goals Dominguez 2.
IRELAND: C O'Shea (London Irish); J Bishop (London Irish), K Maggs (Bath), R Henderson (Wasps), G Dempsey (Terenure College); E Elwood (Galwegians), C Scally (UCD); J Fitzpatrick (Dungannon), R Nesdale (Newcastle), P Clohessy (Young Munster), P Johns (Saracens, capt), J Davidson (Castres), T Brennan (St Mary's College), V Costello (St Mary's College), D O'Cuinneagain (Sale). Replacements: J Bell (Dungannon) for Henderson (37), K Wood (Harlequins) for Nesdale (55), P Wallace (Saracens) for Clohessy (55).
ITALY: J Pertile (Roma); F Roselli (Roma), G Preo (Lofa Milano), L Martin (Begles-Bordeaux), M Baroni (Padova); D Dominguez (Stade Francais), A Troncon (Benetton Treviso); G De Carli (Roma), A Moscardi (Benetton Treviso), F Properzi (Benetton Treviso), M Giacheri (West Hartlepool), W Cristofoletto (Benetton Treviso), M Giovanelli (Narbonne, capt), O Arancio (Benetton Treviso) S Saviozzi (Benetton Treviso). Replacements: W Viser (Benetton Traviso) for Giacheri (6), S Saviozzi (Benetton Traviso) for Arancio (65), R Rampazzo (Podova) for Stocco (65).
Referee: D Gillet (France).Reuse content