Taylor Hall had another superlative game for the Devils, skating with purpose all over the ice, creating chances and continuing his better-than-point-per-game output.
The problem for the Devils was that the Flames had two such players.
And despite an inspired third period for the Devils, Sean Monahan and Salem's Johnny Gaudreau were ultimately the difference.
Monahan scored twice and Gaudreau had a goal and an assist to trump Hall's goal and an assist, as the Flames beat the Devils, 3-2, on Thursday night at Prudential Center.
Never miss a local story.
The Devils (27-18-8) have now lost two in a row after Thursday night's 5-3 loss at Ottawa, and missed a chance to move past the idle Penguins and back into second place in the Metropolitan Division.
David Rittich made 30 saves for the Flames (28-18-8), who have won three in a row. Keith Kinkaid stopped 22 shots for the Devils.
Unlike Tuesday night's effort, when Hall, Travis Zajac and coach John Hynes all suggested the Devils may have overlooked an opponent with an inferior record and were not engaged enough from the start, this game could have gone either way.
The Devils were just as physically engaged as the Flames and, particularly in the third period, skated stride for stride with them.
And Pavel Zacha's power-play goal at 7:23 of the third period – only two penalties, both on the Flames, were called in the game – brought the Devils within 3-2. The Devils outshot the Flames, 12-1 over the final 20 minutes and Kinkaid did not have to make his first save until 11:48.
Zacha, establishing position with his back to the crease, converted on a nifty backhander through his legs. Brian Boyle snapped a 12-game scoreless streak with the primary assist and Hall had the secondary assist.
Hall now has at least one point in his last 12 games, with eight goals and 10 assists in that span. With 20 goals and 34 assists, he has surpassed the 53 points he accumulated in 72 games last season, his first with the Devils.
Kinkaid was pulled at 8:43 of the second period after allowing four goals on 20 shots at Ottawa. But Hynes didn't hesitate to give him his fifth straight start out of the All-Star break with Cory Schneider (groin) missing his sixth game in a row and ex-Flame Eddie Lack serving as the backup.
Kinkaid had allowed a total of five goals in the three wins that preceded Tuesday night's loss.
"He wasn't the only player that didn't have a great night, that game was certainly not on him," Hynes said. "Let's give him an opportunity to come in and bounce back."
But the Flames scored three goals in the third period, including Johnny Gaudreau's backhander through Kinkaid's pads to make it 2-1 at 14:33 seconds after Hall could not connect with Jesper Bratt on a two-on-one chance.
Monahan opened the scoring at 4:16, knocking in a rebound after Kinkaid made a shoulder save on Dougie Hamilton's initial shot.
Hall tied the game at 1 at 7:23, knocking in his own rebound after intercepting Hamilton's attempted no-look backhanded clear.
Monahan's second goal gave the Flames a 3-1 lead at 18:05 as Gaudreau fed him in the left circle and his initial shot hit off the far post, with the puck popping into the air. Monahan skated around the crease and scored on the rebound.
Both Kinkaid and Rittich, starting with Mike Smith being saved for Friday night's game against the Rangers at Madison Square Garden, were sharp from the onset in the first period. Rittich stuffed Blake Coleman's try at the crease on the game's first shift, then turned aside Pavel Zacha's power-play one-timer at 12:20, though Kyle Palmieri hit the near post from the right at 15:29.
Kinkaid turned aside Johnny Gaudreau's wraparound try at 2:00.