Russia hasn't won the world title since 1993 and also claimed the bronze medal in 2005. "The win today was very important," Russia defenceman Sergei Gonchar said. "We were playing in front of our home crowd.
"People were supporting us, cheering for us even after our loss to Finland last night, saying things like 'Good job.' Before the game we all agreed we can't lose this last match."
Emelin gave Russia the lead at 6:18 in the first period with a short-handed rush, firing a backhand past Swedish goalie Johan Backlund.
"The first goal was huge for us," Russia forward Sergei Brylin said. "Both teams played last night so it wasn't easy but we jumped ahead."
Less than four minutes later, Zinoviev added another, converting Emelin's rebound that had bounced off Backlund's skate. Frolov scored on the power play 1:04 into the second, deflecting Vitali Artyushov's point shot.
Alexander Steen - the only NHL player on Sweden's roster - scored at 8:08 of the third.
"Unfortunately we made a couple of mistakes in the first period and were two goals down," Sweden coach Bengt-Ake Gustafsson said. "It was very hard to get things going our way."
Last year, Sweden won both the Olympic and world titles - the first country to do so.