CALGARY — After a cold start, Kyle Palmieri continues to heat up for the New Jersey Devils.

Palmieri had a goal and an assist on Friday as the Devils jumped out to a two-goal first-period lead and hung on for a 2-1 victory over the Calgary Flames.

The 25-year-old has five goals in his last 12 games after scoring just four times in the first 30. This comes after a breakout season in which he scored 30 times to tie Adam Henrique for the team lead.

"It feels good to contribute offensively," said Palmieri. "Any guy that scores goals feels like they come in bunches so you're going to go through hot streaks and cold streaks. It's something where I want to stay consistent and do whatever it takes to help my team win."

Palmieri opened the scoring at 6:22. Mark Giordano got caught pinching, and New Jersey broke out on a 3-on-2 with Palmieri whipping a rising shot past Chad Johnson.

New Jersey made it 2-0 at 18:31 on the power play. Palmieri zipped a pass across the slot to Taylor Hall, who fired a wrist shot into the top corner from 30 feet out.

"It hasn't been easy for us, putting pucks in the back of the net this year," Palmieri said. "But it's something that if we keep putting up 30, 35 shots like we did tonight, we're going to get some second chances."

New Jersey (17-18-9) snapped a four-game winless skid and improved to 1-0-1 on a four-game road trip that continues Sunday night in Vancouver.

Sean Monahan scored for Calgary (23-20-2). The Flames' four-game home winning streak came to an end.

"It was a pitiful start for us," said Flames coach Glen Gulutzan. "We were out-battled the whole time. When you lose battle after battle and you're not ready to play, that's what happens."

Outshot 14-7 in the opening 20 minutes, Calgary came out flying in the second, peppering Keith Kinkaid with 17 shots, but only beating him once.

"He made some big saves for us at important times," said Devils coach John Hynes. "He gave us a chance to win."

With Cory Schneider getting the night off, Kinkaid was excellent. He finished with 31 stops to improve to 5-4-2.

The lone blemish came at 14:04 when Monahan buried a Dougie Hamilton rebound. His 11th goal ended an 11-game goalless drought and was the centre's first even-strength goal since Dec. 4.

"It was a team effort. The guys were flying right from the get-go," said Kinkaid. "We kept putting the pressure on and stuck to our game plan and never gave up."

Making his fourth consecutive start, Johnson's 34 saves included a breakaway by Miles Wood halfway through the third that kept Calgary within striking distance. Johnson fell to 15-10-1.

"That's the best I think I've seen that team play in the sense of generating offence and playing with speed," said Johnson. "In years past, they were a lot slower. They seem like they have a lot more skill up front and they come hard. "

Calgary flew out to Edmonton right after the game for a matchup Saturday night with its provincial rival. The Oilers are three points up on the Flames in the Pacific Division.

"Those are two points we lost, we wish we had," said Flames centre Matt Stajan. "All we can do is learn from it and we have a big one tomorrow."

Notes: Monahan was reunited with Kris Versteeg and Troy Brouwer (broken finger), who returned to Calgary's line-up after missing eight games... Sam Bennett moved to centre with Johnny Gaudreau and Alex Chiasson... Calgary's Micheal Ferland (lower body) missed his first game of the season... The Devils activated Jacob Josefson (illness) from the IR. He missed the last six games. Sergey Kalinin (lower body) did not play after blocking a shot Thursday night in Edmonton.