Andre Dawson drove in three runs and Steve Rogers pitched a six-hitter at home as Montreal gave Philadelphia its fourth straight loss.
In the first inning, Tim Raines drove in Doug Flynn with a single off starter and loser John Denny (6-6).
With reliever Renie Martin in the game in the seventh, Dawson cleared the bases with a double off the left field fence. The three RBI gave Dawson seven in two games.
Rogers (6-13) did not allow a runner to reach third base. Philadelphia threatened in the eighth when Jeff Stone, who went four for four and stole three bases, singled and Von Hayes walked.
But Rogers, who was removed from the game at the end of the inning, got Mike Schmidt to foul out and Al Oliver to pop out to third base.
Rogers, who has had a tough season that included time in the bullpen, voiced his displeasure with Manager Jim Fanning about being replaced.
"I'm very disappointed that he took me out," Rogers said. "I told pitching coach Galen Cisco that it was very important for me to earn the shutout by myself. I thought I pitched well tonight. I had a good fast ball and even though I allowed several men to get on base, I got myself out of the jams.
"I felt that in my past three games I have pitched very well. I learned something when they sent me to the bullpen."