Taylor Hall scored twice while Jake Allen made 20 saves in the Canadian net to secure the victory.
"This is the opportunity of a lifetime for us, just to get to the final," Hall told reporters following the game. "To win that sixth goal medal would be unbelievable.
Canada now takes on the United States for the gold medal on Tuesday in a rematch of their New Year's Eve classic (TSN, 7:30pm et/4:30pm pt). However, defenceman Travis Hamonic will not play after suffering a separated shoulder late in the third period on Sunday.
There was no fairytale ending for Switzerland's Cinderella run as the clock struck midnight and their carriage suddenly turned back into a pumpkin.
Goals by Marco Scandella and Hall less than two minutes apart in the second period proved to an insurmountable advantage as the Swiss were never able to close the defecit after that.
The score was a bit deceiving as it was certainly a much closer encounter than the 6-0 thumping that Canada handed the Swiss earlier in the tournament.
The final tally could have been much more lopsided as Benjamin Conz was once again heroic between the pipes for the Swiss, making 38 saves on the night including stoning the Canadians on several scoring opportunities.
The Swiss started the game shorthanded as they were missing their top two defencemen, Anaheim Ducks' prospect Luca Sbisa and Roman Josi due to injuries.
A packed house at the Credit Union Centre was rewarded early as Canada opened the scoring in the first period on the power play.
With Dominik Schlumpf in the box for tripping, Jordan Eberle beat Conz high glove side for his sixth goal and 11th point of the tournament. That gave the Edmonton Oilers' prospect points in 11 straight games at the World Junior Hockey tournament setting a Canadian record.
The accolades for Eberle continued to pile up as the point also pulled him even with Jason Allison for second on the all-time list for scoring by a Canadian in tournament history. It is also his 12th goal all time in the tournament, one short of John Tavares' Canadian record.
Canada appeared to be ready to break it open early in the second period. While killing a penalty, Gabriel Bourque sprung Scandella with a great feed. Scandella beat Conz with a second effort for his first goal of the tournament.
"We played well, but our strength was down, our batteries were down after our game with the Russians," said Swiss head coach Jakob Kolliker. "We wanted to keep it close for as long as possible. The short-handed goal hurt us too much to come back."
Less than two minutes later Hall increased the lead with his fourth goal of the tournament to give Canada some breathing room.
The Canadians did not have much time to celebrate as moments later the Swiss replied on a power play as Mauro Jorg beat Allen to give Switzerland some life after it appeared as though Canada was ready to take over.
Despite the Canadian coaching staff preaching discipline prior to the game, Canada took 10 minutes of penalties through two periods and got an earful from coach Willie Desjardins between periods.
"We've got to stay composed, we can't be taking those penalties, especially against tougher teams because they are going to make us pay," Ryan Ellis said.
The message obviously got through as Canada did not take a single penalty in the third period and exploded out of the gate in the final stanza.
"We weren't composed and we got a little bit away from our game and you cant' do that, especially in big games like this," Hall told TSN following the game. "I thought in the third period we really came out and took it over."
Brayden Schenn gave Canada a three goal advantage by shoveling his second of the tournament past Conz on the backhand giving the Los Angeles Kings' draft pick points in every single game of the tournament.
Alex Pietrangelo picked up his second assist of the game on the play to grab a share of the tournament scoring lead with teammate Jordan Eberle and team USA's Derek Stepan.
Canada blew it open late as Stefan Della Rovere and Hall scored just 30 seconds apart to secure the victory for Canada and start the celebrations in Saskatoon. Canada remains a perfect 18-0-0 in all-time tournament play against Switzerland.
It was not all good news for Canada as Hamonic was drilled from behind by Jeffrey Fuglister and left the ice favouring his left shoulder. Hamonic was later diagnosed with a separated shoulder and will miss the gold medal game.
"It would be a pretty big loss," Hall said before knowing the full extent of Hamonic's injury. "He's played a pretty pivotal role in our success this tournament. On this team, we have so much depth that if he does happen to be injured someone will step in and do his job."
Fuglister received a five minute major and a game misconduct on the play and could possibly face supplementary discipline.
Desjardins did not think that Fuglister tried to injure Hamonic on the play.
"I think the guy was playing hard and just finished his check," Desjardins said following the game. "I don't think it was more than that. I think it was a physical game and those checks happen."
All is not completely lost for the Swiss as they now take on Sweden for the bronze medal (TSN, 4pm et/1pm pt). The Swiss will be in search of only their second medal in the history of the tournament after capturing bronze in 1998.
"It would be a dream come true if we did win Tuesday," Conz said following the loss. "We're going to forget this game so we can focus on winning Tuesday and bringing a medal back to Switzerland." SCORING SUMMARY
03:48 CAN Jordan Eberle (Ryan Ellis) PP/AN Period 2
07:26 CAN Scandella (Gabriel Bourque, Brandon McMillan) SH/DN 09:11 CAN Taylor Hall (Nazem Kadri, Stefan Della-Rovere) 12:27 SUI Mauro Jorg (Patrick Geering, Nino Niederreiter) PP/AN Period 3
02:56 CAN Brayden Schenn (Brandon McMillan, Alex Pietrangelo) 16:41 CAN Stefan Della-Rovere (Jordan Caron, Adam Luke) 17:09 CAN Taylor Hall (Marco Scandella, Colten Teubert) KINGS PROSPECTS PLAYING FOR TEAM CANADA
AT WORLD JR CHAMPIONSHIPS
Brayden Schenn (2-6=8), Plus-9 rating, 4 PIM, 15 Shots in 5 GP
6 assists tied for second on the team; +9 tied for first on the team
Colten Teubert (0-1=1), Plus-7 rating, 0 PIM, 4 Shots in 5 GP
Alternate captain on Team CanadaBrandon Kozun
(3-4=7), Plus-7 rating, 0 PIM, 12 Shots in 5 GP
Scored game-deciding shootout goal Dec. 31 vs. USA Martin Jones
(1-0-0), 2.00 GAA, .926 Sv Pct, 1 GP