Van Riemsdyk got a pass from Braydon Coburn and buried the puck into the left corner of the net for a power-play goal at 7:42 in the third. The Canadiens entered the game as the league's best penalty killing team on the road.
Claude Giroux and Ville Leino also scored for the Flyers, who trailed 2-0 after the first period. Philadelphia has won consecutive games after dropping the previous two.
Maxim Lapierre scored twice for Montreal, which lost for the first time when leading after two periods.
In the second of four meetings between the teams, the Flyers finally scored on Carey Price, who entered with a league-best four shutouts, including a 41-save performance in a 3-0 victory against Philadelphia last Tuesday.
Tempers flared in the previous game, which featured three third-period misconducts, and, later, verbal sparring between Flyers captain Mike Richards and Canadiens rookie defenseman P.K. Subban centering around Richards calling Subban disrespectful.
Montreal got off to a fast start Monday night against Brian Boucher, who was making his second straight start in net after having not started since Oct. 25.
Lapierre first beat Boucher from the blue line with a slap shot, with Flyers defenseman Sean O'Donnell providing an unintended screen. Lapierre's second goal went off the stick of Philadelphia's Andrej Meszaros and through Boucher's legs.
Leino got the Flyers on the board in the second, beating Price with a wrist shot from the slot, and Giroux tied it 1:48 into the third period. Giroux snuck around the back of the net and poked Darroll Powe's pass by Price.
Boucher stopped 27 shots. Price made 40 saves.
NOTES: The Flyers are 60-74-30-4 in their history against Montreal, the only NHL team the they have a losing record against. ... Canadiens D Andrei Markov sat out with a right knee injury, and is out indefinitely. ... Flyers forward Daniel Carcillo is out for at least two weeks with a sprained left knee. ... Meszaros played in his 400th career NHL game. ... The Flyers won for the first time when they trailed after two periods.