Artturi Lehkonen deflected Danault's pass into the goal mouth to make it 3-1 at 2:19.
Kovalchuk put the Canadiens up 4-1 with his second goal of the game at 11:13 of the third. He has seven points (three goals, four assists) in seven games since signing with Montreal on Jan. 3.
Farabee, who was recalled from Lehigh Valley on Thursday, scored at 18:47 of the first to give the Flyers a 1-0 lead, but Tatar scored 18 seconds later to tie the game 1-1 at 19:05.
Price made the save on Scott Laughton's shorthanded breakaway at 1:28 of the second to keep it tied.
"The first shift, we turned the puck over three times, but we found a way to score an important goal," Vigneault said. "And one of the major turning points for me is that goal we gave up at the end of the first period. We should have gotten through that period with a one-goal lead.
"And then we take a penalty early in the second. We had a breakaway chance, and (Price) makes the save, and a couple of minutes later it's 3-1, so we're down by two against one of the best goaltenders in the League. So it was going to be an uphill battle."