Mario Soto pitched a three-hitter and the Cincinnati Reds ended a four-game losing streak by beating Houston Astros, 3-0, last night in Houston.

Soto (2-1) gave up singles to Craig Reynolds in the third and eighth innings, and an infield hit to Phil Garner in the ninth. He struck out five and walked three.

Nick Esasky hit a one-run home run, his third of the year, in the fourth inning off Mike Madden (1-1). The homer was Cincinnati's 12th, one in each of its 12 games, and left the Reds one short of the major league record for home runs in consecutive games to start a season set by the Chicago Cubs in 1984.

The Reds took a 1-0 lead in the third. Eric Davis doubled with one out, stole second and scored when second baseman Bill Doran threw away Dave Parker's two-out grounder for an error. Ron Oester had an RBI single in the eighth, driving home Dave Concepcion, who had singled and stolen second.

*Cubs 7, Expos 5: Pitcher Rick Sutcliffe hit a three-run home run and Jerry Mumphrey hit one with the bases empty as Chicago defeated visiting Montreal.

Sutcliffe (1-3) capped a four-run sixth inning that broke open a 3-2 game with his home run. Mumphrey also had two singles.

It was the third straight victory for the Cubs, who lost seven of their first nine games.

With one out in the sixth, Mumphrey singled, went to third on Jody Davis's double and scored on a suicide squeeze by Bob Dernier, who was safe at first when Bryn Smith (1-2) bobbled the ball for an error trying to scoop it toward home plate. Sutcliffe followed with his third regular season homer.

Sutcliffe allowed seven hits and six walks in 6 1/3 innings. He struck out eight and made three wild pitches.

*Phillies 4, Pirates 2: In Pittsburgh, Mike Schmidt drove in all of Philadelphia's runs with two home runs and a sacrifice fly and Shane Rawley pitched a five-hitter.

Schmidt gave the Phillies a 2-0 lead in the first when he hit a 3-2 pitch from Rick Rhoden off the left-field foul pole with one on.

The Phillies made it 3-1 in the sixth when Milt Thompson singled and later scored on Schmidt's long sacrifice fly to left.

Schmidt homered again -- his fourth this season -- with one out in the ninth off Rhoden (2-1).

*Mets 5, Cardinals 4: In St. Louis, George Foster singled home Wally Backman from second base with two outs in the 10th inning and New York extended its winning streak to six games.

The defeat marked the first time the Cardinals had lost a regular season game in which they led going into the ninth inning since the final contest of 1984, a span of 90 such games.

The Mets trailed, 4-2, entering the ninth, but tied it on Howard Johnson's two-run homer with one out off Todd Worrell (0-1).

Wally Backman led off the New York 10th with a walk and then stole second. Worrell retired Keith Hernandez and Gary Carter, and intentionally walked Darryl Strawberry. Foster then lined his game-winning single.

*Dodgers 6, Braves 3: Mike Marshall and Greg Brock hit solo homers and Mariano Duncan ended a 2-for-21 drought with a two-run double to lead Los Angeles over visiting Atlanta.

Brock's home run ignited a three-run fourth inning that ended a 1-1 tie.

Atlanta pulled within 4-3 in the eighth when reliever Ken Howell walked leadoff batter Terry Harper and then walked pinch-hitter Omar Moreno with two out. Tom Niedenfuer replaced Howell and gave up an RBI single to pinch-hitter Ted Simmons but escaped further trouble and got his first save.

Los Angeles added two runs in the eighth.