Ottawa's Martin Havlat scored the winning goal in the Senators' 2-1 win over the Calgary Flames in the National Hockey League Saturday - a night when the NHL's six Canadian teams all played against each other.

Havlat scored two minutes, 26 seconds into the third period to lift the Senators on their home ice. Patrick Lalime made 18 saves for the win.

In the other two all-Canadian contests, the Maple Leafs edged the Montreal Canadiens, 5-4, in Toronto, and the Edmonton Oilers scored in overtime to slip past the visiting Vancouver Canucks, 4-3.

In Philadelphia, Canadian-born Simon Gagne scored on a penalty shot with just one minute left on the clock to give the Flyers a 5-4 win over the Atlanta Thrashers. Philadelphia snapped a three-game losing streak, but had to rally twice after blowing a three-goal lead, and then a one-goal lead.

New Jersey Devils center Scott Gomez matched his career scoring high - five points - in a 7-3 rout of the struggling Rangers in New York. Gomez scord two goals and made three assists for the NHL's defending champions, and Patrick Elias had a pair of goals and two helpers. The Rangers have won only four of their last 18 games.

In other hockey action Saturday, the Boston Bruins scored in the third period to tie the Carolina Hurricanes, 3-3. The New York Islanders won the sixth of their last eight home games - 4-1 over the Buffalo Sabres. Nashville had its highest-scoring game of the season, an 8-2 rout of the Phoenix Coyotes. The Los Angeles Kings ended an eight-game winless streak against Columbus, edging the Blue Jackets, 4-3. And the Washington Capitals skated to a 2-2 tie with the Florida Panthers.