Nikolay Zherdev gave the Flyers a two-goal lead early in the third and it appeared Philadelphia would coast to its fourth straight win. The Canadiens, however, got goals from Tomas Plekanec and Brian Gionta less than 3 minutes apart to tie it.
Van Riemsdyk then put the Flyers back in front with a power-play goal and Claude Giroux added some insurance 61 seconds later to help Philadelphia to its sixth win in seven games. Sergei Bobrovsky turned aside a career-high 38 shots to get the victory.
Montreal's Carey Price allowed five goals in a game for the first time this season. He made 25 saves.
Philadelphia improved to 21-7-5, its best record after 33 games in 24 years.