Kristian Huselius slog in 6-5 i förlängningen. Sverige tog extrapoängen och möter Ryssland på torsdagseftermiddagen.
Jonas Gustavsson, Tre kronors debuterande målvakt, blev stor matchhjälte. Utan honom hade USA haft flera mål att gå på när Tre kronor startade upphämtningen.
Den som trodde att Lettlandsmatchen var Sveriges nära nog obligatoriska plattmatch i VM, hade nog inte räknat med att Sverige skulle spela ändå sämre mot USA i onsdagskvällens match.
Huvudslösa utvisningar och USA som tog vara på numerära överlägen sänkte Tre kronor när USA gjorde både 2-4 och 2-5, innan Magnus Johansson lyckades få in pucken till 3-5.
Niklas Persson tände svenskarnas hopp genom att i numerärt underläge (Johan Åkerman utvisad för hakning) göra 4-5. Och sedan, helt omotiverat med tanke på spelet, utjämnade Mattias Weinhandl till 5-5.
Sedan gjorde inget av lagen något mål under ordinarie tid och matchen gick till förlängning. Tre kronor hade lyckats skramla ihop åtminstone en poäng.
En poäng som blev två när Kristian Huselius gjorde 6-5, ett slutresultat som är närmast ett under.
Därmed slutade Tre Kronor tvåa i gruppen och går vidare till mellangruppspelet med tre poäng i bagaget. Ett helt annat läge än några minuter tidigare då läget såg mycket dystert ut.
Ryssland kliver in där med maximala sex poäng, USA har fyra, Schweiz och Sverige tre, Lettland två, och Frankrike noll poäng.
De fyra bästa lagen går till kvartsfinal.
Tre Kronor har aldrig missat kvartsfinal i ett VM sedan det infördes 1992.
På Valborgsmässoaftonen möter Sverige Ryssland i det fortsatta spelet om slutspelsplatserna.