Martin Olsson's Sweden will have to beat Belgium in their final Group E fixture to keep alive their Euro 2016 hopes after a 1-0 defeat to Italy in Toulouse on Friday.

The Norwich City defender played the full 90 minutes for his country again, who were sunk by an 88th minute winner from Eder, which leaves the Swedes bottom of Group E on one point from two games after drawing the opening game 1-1 against the Republic of Ireland.

Italy's second win of the section saw them qualify for the knock-out stages, with the Irish - featuring Norwich City duo Robbie Brady and Wes Hoolahan - set to face the Belgians in Bordeaux on Saturday.

Olsson's miserable afternoon was compounded by a stoppage time booking for a lunge on Italy's Simone Zaza. Sweden's make-or-break final group fixture against Belgium will take place next Wednesday evening in Nice.

Swedish boss Erik Hamren responded to their disappointing performance against Ireland by replacing Marcus Berg with John Guidetti and Albin Ekdal with Oscar Lewicki. An injury to Mikael Lustig also meant a starting place for Erik Johansson, and overall they improved.

Yet as has been the case for much of the past decade, the form of Zlatan Ibrahimovic represented their greatest chance of victory.

It did much to capture the nature of their game that the forward wasted what appeared their finest chance midway through the second half. A left-wing cross made its way through Italy's penalty area but, despite space from directly in front of goal, he somehow missed the target and was saved from disappointment only by being ruled offside.

Italy threatened in the 82nd minute, when Marco Parolo headed Emanuele Giaccherini's cross against the crossbar. With a draw looking inevitable, substitute Zaza then headed towards Eder, and the striker classily dribbled through Sweden's defence before equally impressively finishing beyond goalkeeper Andreas Isaksson. Sweden had a stoppage-time penalty appeal dismissed, and Italy held out.