Konecny left the game with an upper-body injury after taking a hit from Calgary defenseman MacKenzie Weegar at 6:22 of the second period. Philadelphia coach John Tortorella did not have an update postgame.
Mikael Backlund and Andrew Mangiapane each had a goal and an assist, and Jacob Markstrom made 18 saves for the Flames (26-20-11), who have lost five of seven (2-3-2) and haven't won consecutive games since Jan. 21-23.
"I feel it's easy to kind of get hot, right, and we haven't really gotten hot this year," Mangiapane said. "We've had a couple streaks or whatnot, but not really long ones. I think we're due and we're playing the right way, and we've just got to play a full 60 and be able to close out games and play with the lead and win these kind of close ones."
Tyler Toffoli cut it to 3-2 at 4:38 of the third period, taking a pass from Dillon Dube and scoring five-hole on Ersson from the bottom of the left circle.
Mangiapane then tied it 3-3 at 8:54 on a rebound, but Allison put Philadelphia back in front 4-3 at 11:33 when he redirected a pass from James van Riemsdyk at the edge of the crease.
"Two shifts later Allison scores that big goal for us," said Flyers forward Scott Laughton, who had two assists. "We were bending a little bit, but we didn't break. I think any time when you're up in the third, the tendency is to sit back a little bit, or the other team pushes a little bit more. We found a way."