DAVOS, Switzerland - HC Geneve-Servette was sitting on a seemingly insurmountable 5-0 lead midway through its Spengler Cup semifinal against Canada.

It turned out the defending champion would need every one of those goals. Geneve-Servette weathered a furious Canadian comeback and held on for a 6-5 win on Tuesday.

"We said we were going to come back, and we did," Canadian head coach Guy Boucher said after the game.

"One thing's for sure, when you're on the international scene and you're trailing 5-0, a lot of people would quit. I think we proved that we're Canadians. Canadians don't quit. They fight and they make things happen."

Geneve-Servette also beat Canada in last year's semifinal on its way to its first Spengler Cup title, and the Swiss team looked like a lock to duplicate that feat early in Tuesday's game.

Inti Pestoni and Tom Pyatt scored even-strength goals in the first period, then Romain Loeffel and Francis Bouillon added second-period power-play goals, ending Canadian goaltender Drew MacIntyre's night.

"We put ourselves behind the 8-ball. What had been our strengths in the past games was to prevent goals and the penalty kill and all that, and today it didn't go the way we wanted it to," Boucher said.

Timothy Kast appeared to put the game away with a short-handed goal on Canada's backup goaltender Nolan Schaefer at 10:25 of the second period.

Canada responded quickly, however, with Mike Hedden answering Kast's goal just 29 seconds later.

Goals from Ryan parent and Jerome Samson cut Geneve-Servette's lead to 5-3 after 40 minutes, then Alexandre Giroux scored 1:39 into the third to move Canada within a goal.

Loeffel's second power-play goal of the game sapped Canada's momentum and put the Swiss side up 6-4.

Marc-Antoine Pouliot scored at 10:42 to again cut the lead to one, but Canada couldn't find the game-tying goal.

HC Geneve-Servette will play Salavat Yulaev Ufa in Wednesday's final.

The KHL club defeated host HC Davos 4-3 in a shootout in the early semifinal.