Matchen inleddes i ett rasande högt tempo och lagen bytte chanser med varandra.
Alexander Kacaniklic hade två fina chanser samtidigt som Österrikes Marko Arnautovic kom runt på sin vänsterkant och slog många farliga inlägg.
Harnik tystade Sverige
I 29:e minuten tystade Stuttgartanfallaren Martin Harnik den svenska publiken.
Harnik skruvade in en vänster innersida i bortre gaveln efter att Anders Svensson misslyckats med en nickrensning och det svenska försvaret uppträtt passivt.
Då såg det mörkt ut. Österrike dominerade efter ledningsmålet stort och Sverige uppträdde vilset.
Nytt lag i andra
Johan Elmander var kritisk i paus.
– Det är alldeles för mesigt, vi måste skärpa till oss, sa han.
Men hemmalaget kom ut som ett helt nytt lag i andra halvlek.
I 56:e minuten kom kvitteringen efter ett mönsteranfall. Zlatan Ibrahimovic hittade in med ett inspel till Martin Olsson som språngnickade in 1-1.
”Sjuk glädje”
I 86:e slog sedan inbytte Kim Källström en lysande genomskärare till Zlatan, som fri med med målvakten inte gjorde något misstag.
Det var emellertid inte slut där. Bayern München-stjärnan David Alaba fick ett utmärkt frisparksläge på övertid och var ytterst nära att skruva in 2-2-målet.
Men Sverige höll ut. Ibrahimovics 2-1-mål räckte till seger och till att säkra playoff-spel.
– Sjuk glädje nu, tuff match i första men vi hade ett bra snack i halvtid och visade vilja, jäkligt skönt, säger Anders Svensson.
Tvåa i gruppen
På tilläggstid drog Zlatan på sig en taktisk varning. Nu är han avstängd i matchen mot Tyskland men är tillbaka till playoff-spelet.
Segern var Sveriges femte raka. I kvalet har laget en målskillnad i första halvlek på 4-7 mot 12-2 i andra.
Eftersom Tyskland slog Irland är det klart att Sverige slutar tvåa i gruppen.