In Philadelphia, Mike Vail hit a two-run homer in the first inning and Montreal held on to administer the Phillies' sixth straight defeat.
Vail hit his first home run of the year in his first at bat for the Expos to extend their winning streak to five games. Tim Raines walked ahead of his homer and the Expos got another run off Steve Carlton (6-4) on doubles by Al Oliver and Tim Wallach.
Carlton gave up a run in the sixth on singles by Gary Carter, Wallach and Chris Speier and the Expos made it 6-3 with unearned runs in the eighth. Oliver singled off reliever Willie Hernandez and went to third on an error by third baseman Mike Schmidt. Reliever Ron Reed intentionally walked Speier, then pinch hitter Warren Cromartie hit a sacrifice fly. Walks to pinch hitter Terry Crowley and Raines forced in the sixth run.
Scott Sanderson ended a four-game losing streak and raised his record to 4-4. The Phillies scored an unearned run in the second when Bo Diaz singled, went to third on a double-error by shortstop Speier and scored on a single by Kiko Garcia.
Carlton, who entered the game 10 strikeouts behind Nolan Ryan on the all-time list, struck out two. He left with back spasms after yielding three straight hits in the sixth.