Sam Gagner showed he can make a heads-up move while playing in his 1,002 NHL career game.

The veteran forward tipped in a point shot from Ville Heinola with 5:40 left in the third period to lift the Winnipeg Jets to a 3-2 victory over the Calgary Flames on Tuesday.

“Just was able to get my backhand on it,” the 33-year-old Gagner said. “It was a great shot by Ville. He kept it low and allowed me to see it the whole way. It’s definitely a good feeling.”

Brenden Dillon and Josh Morrissey also scored for the Jets (24-13-1), who began a three-game homestand at Canada Life Centre.

Connor Hellebuyck made 33 saves for Winnipeg, which has won three in a row after ending a season-high three-game losing streak.

Nikita Zadorov and Mikael Backlund scored for the Flames (18-14-7) and Jacob Markstrom stopped 22 shots.

“It’s another one that we let go, didn’t find a way to win,” Backlund said. “It’s frustrating, this one and (a recent 2-1 loss to) Edmonton, two games that I think we should have won and could have won and we find a way to lose instead.”

There was no scoring in the first period and the game was tied 1-1 following the second.

Calgary outshot Winnipeg 14-10 in the opening period, with both teams having a power play and the Flames coming up empty on some good opportunities late in the period.

Milan Lucic went in alone on Hellebuyck, but his shot went wide of the net with 16 seconds remaining. Rasmus Andersson followed up with two of his shots missing the net. Nazem Kadri then had a shot blocked and Hellebuyck stopped a wrister by Lucic with a second left on the clock.

Both goalies were the difference early in the second period.

Winnipeg went on the power play at 3:48 and Markstrom used a snapping glove grab to deny a Mark Scheifele shot from the slot.

Just over a minute later, Markstrom whipped out a pad to block a backhand shot by Axel Jonsson-Fjallby.

Hellebuyck had his turn in the spotlight when he slid over quickly to deny a MacKenzie Weegar shot.

The 14,130 fans in attendance finally had a goal to cheer after Dillon tipped in Dylan DeMelo’s point shot through traffic at 14:50 to mark his first goal of the season.

Zadorov tied it up when his shot went between Hellebuyck’s legs with one minute left in the period.

“When it's a tight game, we cannot make mistakes in their zone and we need to capitalize in the other zone,” Zadorov said.

“I think we had enough chances today to score. Their goalie played well, or we didn't execute it well at the end of the day.”

Morrissey beat Markstrom at 10:22 of the third to break the 1-1 tie.

Two goals by defencemen was good to see, Dillon said.

“We’re simplifying it. It’s just getting pucks there,” Dillon said. “Josh, of course, has made some highlight-reel ones and those are obviously fantastic, but I think a lot for the most part are getting there.

“Our forwards are doing a better job trusting us to get that puck to the net, and therefore they’re going there and getting rebounds and tips and, of course, when we’re able to get them to cross the goal line we’re super happy, but we’re just happy to get the goals in general.”

Backlund’s backhand shot went between Hellebuyck’s pads at 11:58, but Winnipeg regained the lead at 14:20 when Gagner tipped in Heinola’s slap shot from the point.

“You’ve got to get in shooting lanes,” Flames coach Darryl Sutter said. “It’s the wingers’ responsibility to just let the puck hit you in the pads.”

HOME COMFORTS

Morrissey and Kyle Connor, who assisted on Morrissey’s goal, both extended their point streaks at Canada Life Centre to nine games.

Morrissey has two goals and nine assists during that span, while Connor has posted five goals and 11 assists in his run at home.

UP NEXT

Jets: Host Tampa Bay on Friday.

Flames: Home to New York Islanders on Friday.

This report by The Canadian Press was first published Jan. 3, 2023.