Anders Svensson scored perhaps the most important goal of his 143-cap internationl to give Erik Hamrén's Sweden a vital win in the Republic of Ireland.
Ireland, playing in front of a capacity crowd at the Dublin Arena for the first time since the stadium was opened in 2010, took the lead on 22 minutes through Robbie Keane. But Johan Elmander soon equalised and the 37-year-old Svensson struck 12 minutes after half-time to take Sweden three points ahead of Ireland, and Austria, in the race for Group C second place.
Keane had his 60th international goal midway through the first half when he collected a misplaced clearance by Mikael Lustig and remained patient and alert when his initial shot came off the post to put the rebound past Andreas Isaksson. Ireland's lead was short-lived as Elmander got Sweden level on 33 minutes, the Norwich City FC forward heading past David Forde from a cross by Lustig.
In the second half Sweden captain Zlatan Ibrahimović began to take control of the game and on 57 minutes his defence-splitting pass was perfect for Svensson to slide a shot past Forde in the Ireland goal. Ireland now need to win in Austria on Tuesday, when Sweden travel to Kazakhstan.