Värdlandet Kanada var favorit efter att ha slagit Sverige i gruppspelet med 9-6, men i den avgörande semifinalen avgick Sverige med segern.
Matchen inleddes jämnt, efter två omgångar var ställningen 1-1, men sedan drog Sverige ifrån till 3-1-ledning efter tredje rundan. I fjärde och åttonde omgången tog Kanada poäng men i övrigt var det Sverige som dominerade.
– Vi har haft en strålande andra hälft av turneringen och det känns som om vi bara blir starkare. Nu ser vi fram mot finalen i morgon, sade en nöjd Niklas Edin till turneringens hemsida efter segern.
– Så som vårt lag spelade så kunde vi aldrig förlora matchen. Jag tror det var vårt lags starkaste prestation hittills och jag är verkligen stolt över hur vi spelade i dag.
I söndagens final väntar regerande världsmästarna Norge, och det blir en repris från förra årets VM-final.
– Det kommer alltid att bli jämnt mot Norge. Det blir en kamp och jag är säker på att det kommer att avgöras på den sista stenen i den tionde omgången. Vi måste spela på samma nivå som i kväll om vi ska ha en chans att vinna.
Kanada och Finland möts på söndagen i kampen om bronset.