I den inledande perioden var Finland klart piggare och de hade också pucken i mål, men det dömdes bort på grund av hög klubba.
Sveriges Anders Nilsson lyckades hålla tätt och istället var det Sverige som tog ledningen genom Oliver Ekman Larsson. Det kom nio minuter in i den andra perioden då Sverige hade sitt första numerära överläge.
De blågula inledde också den avgörande perioden intensivt, men det var Finland som gjorde målen. Först sköt Juuso Riikola 1-1 och kort därefter kontrade Veli-Matti Savinainen in ledningsmålet.
Med sekunder kvar av matchen satte Sebastian Aho 3-1 i tom kasse och därmed var fajten över för Tre Kronor.
Både Finland och Sverige hade slagit Tjeckien och Ryssland. I och med den blåvita segern vann Lejonen Sweden Hockey Games.
– Finland vinner välförtjänt, säger SVT Sports expert Jonas Andersson.
För Sverige börjar VM på fredag med match mot Vitryssland och innan dess ska tre forwards och en back få beskedet att de inte kommer med till mästerskapet.