None of his goals were more vital than two penalties in the second half. The first of those regained the lead at 23-22, and the second secured the win with the last kick of the match.
Ireland looked like making the most of wind advantage in the first half when they led 20-5 after 38 minutes. But try by Marcos Ayerza, converted by Alfredo Cordone, cut the half-time margin to eight points.
Glen Telford opened the scoring in seven minutes with an Irish try from drive by the forwards and Steenson s half-break and slip pass. Steenson converted. But Argentina struck back. After Cordone had missed a penalty, kicking into the semi-gale, Roman Miralles weaved and jinked from five metres inside his own half to score a memorable individual try.
Two Steenson penalty goals then eased Ireland to 13-5 after 26 minutes, and as the first half was drawing to a close John Hearty ran in for the second Irish try. Tomas O Leary and Steenson made that score, and Steenson converted it.
But Argentina still had time to strike back before the interval, the loose head scoring after a series of forward drives and a couple of penalties. Cordone converted that one, and he added a penalty goal nine minutes after the interval.
Midway in the second half, after strong Argentinian pressure. Added by the wind advantage, Ireland conceded a penalty try. The referee judged that an Irish foot had kicked the ball out of a turning scrummage on the goal-line, and Cordone converted for a 22-20 lead.
Almost immediately, however, Steenson responded with his third penalty goal, and that roused the Irish to battle more strongly against both wind and the opposition. Jamie Heaslip, who was eventually named man of the match, went close to scoring, as did Tommy Bowe. But it was left to Steenson to ensure victory with the last-kick goal.
Andrew Finn (Munster); Richard Lane (Munster), John Hearty (Leinster), Glen Telford (Ulster), Tommy Bowe (Ulster); Gareth Steenson (Ulster), Tomas O Leary (Munster); John Wickham (Leinster), Denis Fogarty (Munster), Declan Fitzpatrick (Ulster), David Gannon (Leinster) captain, Shane O Connor (Munster), Brendan O Connor (Munster), Jamie Heaslip (Leinster), David O Brien (Leinster). Substitutes Conor Geoghan (Leinster), Keith Doyle (Leinster), Neil McComb (Dundee HSFP and Ulster), Anthony Kavanagh (Munster), Robbie Shaw (London Wasps), Michael Glancy (Ulster), Breiffne O Donnell (Munster).
Roman Miralles; Agustin Gosio, Javier Irazusta, Mariano Lecot, Mauro Comuzzi; Alfredo Cordone (captain), Alfredo Lalanne; Marcos Ayerza, Mathias Perez Guimili, Juan Francisco Gomez, Manuel Carizza, Felipe Aranguren, Facundo Barni, Leonardi Lardieri, Gonzalo Padro. Substitutes Ariel Hevia, Osvaldo Acosta, Carlos Caceres, Patricio Figueroa, Nicolas Vergallo, Santiago Bottini, Francisco Merello.
Referee: Bryce Lawrence (New Zealand).