Första halvlek var Sveriges sämsta hittills i turneringen och det blev en riktig mardrömsstart då Daniela Sabatino gjorde 1-0 redan i den fjärde minuten.
Det dröjde ändå inte länge innan Sverige kvitterade. Stina Blackstenius gjordes ner i straffområdet och sedan förvaltade Lotta Schelin straffen på bästa sätt. Målet var Schelins åttonde i EM-historien.
Italien visade att de inte hade gett upp, trots att de är utslagna ur turneringen och i minut 37 fick de utdelning.
Sabatino gjorde sitt andra mål för dagen genom ett snyggt volleyskott.
Sverige tog över
Förbundskapten Pia Sundhage efterlyste en reaktion då hon redan i halvtid bytte ut Caroline Seger och Kosovare Asllani till förmån för Lisa Dahlkvist och Fridolina Rolfö.
Redan efter två minuter gav det utdelning då Rolfö spelade fram Blackstenius till 2-2.
Med tretton minuter kvar att spela var Sveige bara en nick i stolpen av Blackstenius från att ta ledningen, men istället avgjorde Italien i minut 85 genom Cristiana Girelli.
– En förlust är inget vi hade önskat. Men vi vet är vi är vidare och det är bara att lägga all fokus på nästa match, säger Lotta Schelin till SVT Sport.
Kvartsfinal i SVT
Sverige spelar kvartsfinal mot värdnationen Nederländerna, som vann samtliga matcher i gruppspelet, klockan 18 på lördag.
Matchen ser du i SVT.
Tyskland vann grupp B och får därmed möta Danmark.