DAVOS, Switzerland - Canada capped a perfect run at the Spengler Cup on Thursday by edging HC Lugano 4-3 in the championship game at Vaillant Arena.

Matt D'Agostini scored the winning goal to help Canada to its fourth straight victory and first Spengler title since 2012.

"We had such a special group of guys, it is something I will remember for the rest of my life," said Canada defenceman Aaron Johnson, who assisted on the game-winner. "I came in not knowing a lot about the tournament and the atmosphere was more than I could ever imagine.

"The fans were amazing and I had so much fun playing for Team Canada with all of the families in the stands and people watching back home. What an experience, (I'm) so proud."

Gregory Hofmann opened the scoring for the Swiss side at 8:49 of the first period when he beat netminder Jeff Glass on a wraparound. Keaton Ellerby pulled Canada even with a shot from the point at 15:59.

Derek Roy made it a 2-1 game at 3:27 of the second period and Tom Pyatt padded Canada's lead 93 seconds later. HC Lugano's Alessandro Chiesa cut into the deficit with a power-play goal at 12:50.

Hofmann tied the game at 5:08 of the third period before D'Agostini buried a one-timer past HC Lugano goaltender Elvis Merzlikins at 8:13 to give Canada a lead it wouldn't relinquish.

"What an awesome opportunity to represent Canada and win such a prestigious tournament," said assistant coach Rob Cookson. "We had an outstanding group of players that fit together quickly and really bought into the challenge."

Chris DiDomenico had two assists for the Canadians, who outshot HC Lugano 44-34.

It was Canada's 13th Spengler Cup title overall. Canada has reached the final 22 times since making its first appearance at the invitational tournament in 1984.

Swiss club Geneve-Servette won the six-team competition last year.