The star striker’s announcement that the tournament would be his last dominated the build-up to the game, with Ibrahimovic saying in typically understated fashion: “To finish with a disappointment – never.”
But that was exactly what transpired as Radja Nainggolan’s superb late goal earned Belgium victory.
Marc Wilmots’ team needed only a point to secure second place behind Italy in Group E and will face Hungary in the last 16.
Sweden went into the match as the only team in the tournament without a shot on target – their only goal having been an own goal by the Republic of Ireland’s Ciaran Clark.
They took only six minutes to change that statistic, and it was to prove their best chance of the match.
A free-kick eventually fell for Marcus Berg, starting ahead of John Guidetti, 10 yards out but his shot was acrobatically kept out by Thibaut Courtois.
The game was open but lacking in clear-cut chances.
Ibrahimovic, the scorer of a record 62 goals in 116 internationals for Sweden, shot just wide while at the other end Eden Hazard played in Kevin De Bruyne but he also could not find the target.
De Bruyne looked a real danger to Sweden and just before half-time he whipped in a cross that very nearly flew inside the far post.
The pattern continued after half-time, and Berg should have made more of a superb pass from Ibrahimovic but his control let him down at the vital moment.
Ibrahimovic then had the ball in the net but the referee had already blown his whistle for a high boot by Berg.
Most of the pressure was coming from Belgium, though, and Andreas Isaksson pulled off a series of impressive saves from De Bruyne, Romelu Lukaku and Dries Mertens.
In between, Ibrahimovic saw a free-kick pushed away by Courtois, but the writing was well and truly on the wall for the 34-year-old’s international career when Nainggolan struck in the 84th minute.
The Roma midfielder, in the team in place of the injured Mousa Dembele, picked up the ball 25 yards out and drilled it across Isaksson and into the top corner.