Ireland suffered a setback in their hopes of qualification for the 2014 World Cup in Brazil with a 2-1 Group C defeat to Sweden at the Aviva Stadium.
Germany lead Group C on 19 points after their 3-0 victory over Austria, with Sweden on 14 points in second place.
Ireland and Austria are a further three points behind the Swedes with three games to play.
Shane Long and Glenn Whelan had early half-chances for Ireland in the opening ten minutes, but at the other end the Ireland defenders were over-eager with their early challenges, allowing Ibrahimovic a couple of early sighters of goal from free-kicks.
James McClean, who had the measure of Celtic full-back Mikael Lustig down the Sweden right, almost opened the scoring in bizarre circumstances in the 21st minute when his cross caught the wind and looped onto the top of Andreas Isaksson's crossbar.
But Ireland took the lead a minute after thanks to the bravery of Keane. Long's header was not dealt with by Lustig, and the LA Galaxy striker got a foot on the ball as he went in with Isaksson.
Keane was caught by the Sweden goalkeeper as the pair converged on the ball, but Keane was quickly up and scored from the angle after the ball had hit the post.
Sebastian Larsson wasted a great opportunity to level on the half-hour mark when he headed weakly wide from six yards out from Ibrahimovic's cross from the left, after McClean and Dunne had lost the Sunderland winger's run into the area.
But Sweden were well in charge now, and the perhaps inevitable equaliser came just three minutes later. Larsson got the ball on the right flank and set up Lustig, and Elmander timed his run perfectly to get in front of Dunne to head the cross past Forde.
Ireland started the second half well, and Long set up James McClean on the right after a lofted ball into the box by Marc Wilson, but Isaksson easily saved the Wigan midfielder's left foot shot.
Ibrahimovic began dropping away from Richard Dunne to find space in the three-quarter position, and in the 56th minute found room in the centre and released Larsson with a finely-weighted pass, but Forde was out quickly to smother at this feet.
The winner came just moments later, when Ibrahimovic set up Svensson down the left channel and the IF Elfsborg midfielder, winning a record-equalling 143rd cap, ran past Whelan and beat Forde at his near post with a low shot.
Ireland face Austria in Vienna in the next game on Tuesday, while Sweden travel to Astana to face Kazakhstan.