The hosts thrilled the home fans in Malmö, where the tournament is being staged, by defeating Russia 2-1 in a close contest. When the horn sounded to signal the end of the game it was the cue for a major fight on the ice in Malmö Arena.
Several players from both sides traded blows with even the substitutes getting involved. The host nation's Jesper Pettersson emerged from the penalty box to get involved in a punch-up with Russia's Andrei Mironov who was left sporting a bloody nose.
Both players were given roughing minors for their behaviour and may face retrospective punishment from from the International Ice Hockey Federation (IIHF)
Sweden had taken an early lead in the match and added a second before the Russians struck back sparking a late onslaught from the visitors.
The home side managed to hang on and will face Nordic rivals Finland in Sunday's final.