Captain Ryan Getzlaf scored a tiebreaking goal 8:02 into the third period to lift Canada to a 3-2 win over Switzerland Wednesday at the 2012 World Championship.
Jordan Eberle and John Tavares registered a goal and an assist for the Canadians, who improved to 3-0-1-0 in this tournament.
Cam Ward made 28 saves in the win, while his Swiss counterpart, Tobias Stephan stopped 27 shots.
Damien Brunner opened the scoring in the first period for Switzerland and helped set up Goran Bezina's power-play goal that tied the game early in the third.
In Stockholm, the Swedes got goals from five different players in a 5-2 win over Germany.
Johan Franzen, Erik Karlsson, Viktor Stalberg, Marcus Kruger and Niklas Persson lit the lamp for the host nation, while lightly-tested Viktor Fasth recorded 15 saves.
Sweden has won all four of its preliminary round games thus far.
In earlier action Wednesday, Tomas Kopecky scored twice in the third to help Slovakia defeat Kazakhstan, 4-2, and Norway was a 6-2 winner over Italy.