Ola Toivonen made the unthinkable seem possible when he put Sweden ahead with a delicate chip.
Marco Reus spearheaded the German revival when he levelled early in the second half.
They surged forward but Sweden were stout in resisting them and Germany’s progress was halted late on when Jerome Boateng stupidly saw red.
Even so, they pulled their fading hopes of progression out of the fire when Kroos rocketed in a thunderous set-piece with seconds remaining.
Here are our Sweden ratings:
Robin Olsen – 8:
Terrific one-handed save to somehow keep out Ilkay Gundogan’s deflected shot. Another spectacular stop from Gomez in the second half. Sublime.
Mikael Lustig – 6:
Had a quiet first half before struggling as Werner wondered out to the left. A solid outing though.
Victor Lindelof – 8:
Brilliantly cut out Reus’s cutback. Sweden’s joint youngest player put in a performance worthy of a veteran.
Andreas Granqvist – 8:
A gritty show in the heart of Sweden’s defence, especially in the face of a second-half onslaught.
Ludwig Augustinsson – 6:
Kept Muller in check easily, but had his hands full with the marauding Reus after the interval.
Viktor Claesson – 5:
Crucial clearance as Germany piled on the pressure. Didn’t offer much in an attacking sense down his right wing.
Sebastian Larsson – 7:
Sparked attacks and kept possession precisely, and was stoic as he put in a shift defensively too.
Albin Ekdal – 6:
Sniped and scurried about the pitch, pinching possession off Germany players and looking to contribute in attack.
Emil Forsberg – 7:
Lovely early pirouette turn and drive into Germany territory laid the foundations for his evening. Constant scourge of the Germans.
Ola Toivonen – 7:
Sensational finish which gave his side the lead was coolness personified. Supported Berg well and always looking to probe.
Marcus Berg – 7:
A handful for Rudiger and Boateng throughout. Header on half-time kept out brilliantly by Neuer. Deserved a goal.
Jimmy Durmaz – 6:
Almost scored soon after coming on with a lashed effort on goal.
John Guidetti – 6:
Replaced the tireless Toivonen and buzzed around Germany’s defence.
Isaac Thelin – N/A:
Brought on with one minute remaining.
Know more about Sport360 Application