Keith Moreland led off the ninth inning with a home run yesterday in New York as the Chicago Cubs scored two runs in the inning to take an 8-6 victory over the Mets and end a streak of 11 straight losses at Shea Stadium.

The homer was Moreland's third hit of the game and his seventh homer of the year. It came off Jesse Orosco (3-3), the Mets' sixth pitcher.

"I don't 'own' Orosco," said Moreland, who is seven for 15 -- a .467 average -- against the left-handed reliever. "He's a very good pitcher, as evidenced by the number of people he gets out. All I do is go up there and try to hit the ball hard."

After Moreland's homer, Jody Davis and Leon Durham singled, then Jerry Mumphrey walked. Chris Speier's grounder scored pinch-runner Dave Martinez.

Davey Lopes and Ryne Sandberg also homered for Chicago. Lopes was three for four, including his fourth homer of the season and a triple. Sandberg hit his eighth homer.

Reliever Ray Fontenot (3-2) pitched two shutout innings. Lee Smith pitched the ninth for his 10th save.

New York has lost three of its last four games.

Giants 2, Astros 1: Chili Davis drove in a pair of runs with a double and a single to lead San Francisco over visiting Houston in a game the Astros played under protest.

The victory moved the Giants to within one-half game of the first-place Astros in the National League West.

San Francisco starter Scott Garrelts (6-6) pitched seven innings for the victory. After Chuck Hensley retired one batter, Juan Berenguer went 1 2/3 innings for his third save.

The Astros protested the game in the bottom of the eighth, claiming the Giants took too many trips to the mound in the top of the eighth. The protest came after Giants Manager Roger Craig removed Hensley in favor of Berenguer, who came in to pitch to Glenn Davis. After one pitch, pitching coach Norm Sherry visited Berenguer. The Astros said San Francisco was not entitled to visit Berenguer on the mound without taking him out, until the reliever had faced at least one batter.

Braves 7, Reds 6: Ozzie Virgil went three for four and drove in two runs with a bases-loaded single in a four-run eighth inning as Atlanta won in Cincinnati to end a four-game losing streak.

Winner Rick Mahler (8-5) went 7 1/3 innings, allowing six runs. Paul Assenmacher got one out before Gene Garber went the final 1 1/3 innings for his sixth save.

Pirates 14, Expos 1: Pittsburgh won in Montreal as Sid Bream had three hits, including a two-run homer, and Bill Almon and Johnny Ray each had three RBI.

Rick Rhoden (7-4) pitched a three-hitter for his third complete game of the year, walking none and striking out 10. Rhoden helped himself with a pair of singles as the Pirates totaled 17 hits.

Cardinals 8, Phillies 6: Mike Heath, who entered the game batting .179 and without an RBI this month, drove in four runs, including two on a tie-breaking, two-out double in the top of the ninth that sent visiting St. Louis past Philadelphia.

Winner Todd Worrell (4-7) allowed one hit in 1 2/3 innings, striking out four. Ken Dayley pitched the ninth for his third save.

Phillies starter Steve Carlton gave up six runs on six hits in five innings, though he did not get the loss. He also struck out six and walked six. In his last five starts, Carlton has allowed 25 earned runs and 37 hits in 20 1/3 innings, walking and striking out 16 each.