Det återstod 4.38 av förlängningen när Axel Sandin Pellikka slog till. Med en man mer på isen skapade Sverige tryck på Schweiz och Sandin Pellikka fick stort utrymme när han drev pucken framåt innan han avlossade skottbössan.
Vild blågul glädje utbröt på isen och de svenska spelarna omfamnades i en stor gruppkram.
– En av de mäktigaste känslorna jag upplevt, säger Sandin Pellikka.
Upprört efter utvisning
Målet kom efter att Rodwin Dionicio åkt ut två minuter för hooking. Dionicio skrek på domaren innan han lämnade isen och förbundskapten Marcel Jenni var märkbart upprörd.
– En felaktig utvisning, säger SVT:s expert Jonas Andersson.
Det var annars Schweiz som kämpat sig tillbaka in i matchen.
Möter Tjeckien i semifinal
Först reducerade man till 1-2 i den andra perioden och halvväggs in i den tredje satte Nick Meile 2-2 bakom en skymd Hugo Hävelid.
– Vi gör Schweiz bra. Jag vill inte säga att de är dåliga, men vi ger dem deras chanser, säger Sandin Pellikka.
– Det blev onödigt nervöst, men vi vinner ändå matchen.
För blågult väntar nu Tjeckien i semifinal på torsdag. I den andra semifinalen möts USA och Finland.
Junior-VM i Göteborg
JVM
Sverige
3 - 2
Schweiz
Period 1
- 1-0Stenberg (Hävelid/Pettersson)01:34
- 2-0Lekkerimäki (Öhgren/Wahlberg)18:00
Period 2
- 17:262-1Hornecker (Reber)
Period 3
- 09:102-2Meile (Weber/Christe)
Förlängning
- 3-2Sandin Pellikka (Lekkerimäki/Östlund) PP165:22