New York Islanders goalie Jaroslav Halak, left, blocks the net...

New York Islanders goalie Jaroslav Halak, left, blocks the net as Calgary Flames' Brandon Bollig chases the puck during first-period NHL action in Calgary, Alberta, Friday, Jan. 2, 2015. Credit: AP / Jeff McIntosh

The Islanders had been beating themselves a bit in December, giving up three-goal leads four times. Perhaps they play better when the game is tighter.

That was the case Friday night, when the Islanders gave away precious little to a streaking Flames team and pulled out a 2-1 win, thanks to two goals by John Tavares and a huge save by Jaroslav Halak with a minute to go, the best of his 22 stops.

The Islanders are 7-1-1 in their last nine games and 15 games over .500 (26-11-1).

"Everybody was really good tonight," Halak said. "You see guys backchecking hard, tracking back hard, and we didn't give them much all game."

After 40-plus minutes of quietly dominant play, the Islanders gave themselves a little too much intrigue in a four-minute span of the third, with Ryan Strome taking a penalty for slashing Raphael Diaz's stick in half and then Tavares clipping Jiri Hudler in the head with his stick.

But the Islanders' 29th-ranked penalty kill was not just solid, it was strong. Halak stopped the only Flames shot of either power play, a point-blank try by Sean Monahan, and key shot blocks by Calvin de Haan and Thomas Hickey helped.

"Our PK came up big and our goaltender made a couple big saves," Jack Capuano said. "The forecheck [on the penalty kill] was real good; off faceoffs we were good."

Tavares helped greatly with the big second goal at 12:16. He circled the net and fed Kyle Okposo, who had the puck tangled in his skates. Tavares pounced on it and snapped a short shot between Jonas Hiller's legs for a two-goal edge.

The Flames pulled Hiller with just under four minutes to go and that, plus a fortunate bounce onto rookie Johnny Gaudreau's stick, cut the Islanders' lead to 2-1 with 3:25 left.

The Isles held a 1-0 lead entering the third period after 40 minutes played before a frequently silent Saddledome crowd. After grabbing the lead during a two-man advantage early in the first, the Isles turned the adage "good road period" into their mantra.

They worked the walls well, winning battles and clogging up passing lanes against a Flames team that had scored 14 goals in a four-game winning streak coming into the game.

The Isles supported each other away from the puck, covering up for pinching defensemen to prevent any outlet plays and gumming up the slot in their own end.

"You want to be that team that plays a full 60 every night and obviously had a couple games recently where we didn't do that," de Haan said. "But we bounced back the last couple and I think it shows our consistency throughout the season."

Halak closed off any dangerous plays that came his way and smothered a few loose pucks with red jerseys lurking.

Johnny Boychuk was involved in the only goal of the first 40 minutes in a couple of ways. He tried to race on to a loose puck behind the Flames' defense in the first, only to have Lance Bouma get the puck and Boychuk's skates, in that order.

In years past, that play would have been legal as long as Bouma got the puck first. But a new rule this season calls for a penalty regardless of the order of contact, so Bouma sat just 6:48 into the first.

The Flames' Matt Stajan was whistled for a faceoff violation for using his hand to move a loose puck off the draw, giving the Islanders a five-on-three.

Strome passed across the crease to Tavares, who swept in his team-leading 16th goal at the eight-minute mark.

More Islanders