Orel Hershiser pitched seven shutout innings before leaving the game with an elbow injury Saturday as the Los Angeles Dodgers snapped a four-game losing streak with a 3-1 victory over the Houston Astros.

Hershiser hurt his right elbow while striking out Glenn Davis with two on in the eighth inning. After consulting on the mound with Dodgers assistant trainer Charlie Strasser and pitching coach Ron Perranoski, Hershiser left the game for treatment.Alejandro Pena came in and faced Bill Doran, who hit a line drive to right that Mike Marshall dropped. Rafael Ramirez scored from second on the error to make it 3-1, but Kevin Bass grounded out to end the inning.

Pena finished the game to pick up his second save.

Hershiser, 2-1, allowed seven hits, struck out one and walked one before leaving in his 1989 home debut. The National League Cy Young Award winner also had a leadoff triple in the fifth inning.

Hershiser, whose record streak of 59 consecutive scoreless innings ended on opening day at Cincinnati, did not allow an Astro runner past second.

Los Angeles took a 3-0 lead against Astros starter Bob Knepper on Eddie Murray's sacrifice fly in the first inning and Marshall's two-run homer in the third inning.

It was the third defeat in three starts for Knepper, who opened the 1988 seaso with six straight victories and didn't lose consecutive games the entire year.

Willie Randolph led off the Dodgers' first with a single and went to second on Dave Anderson's grounder to third. Randolph slipped rounding third on Marshall's single and had to retreat, but Murray drove him in with a fly to left. Marshall's hit extended his hitting streak to eight games.

Anderson walked with one out in the third, and Marshall followed with a towering homer just inside the left field foul pole. It was the third home run in three games for the Dodgers.

Reds 6, Padres 3

At San Diego, Eric Davis hit a three-run homer in the 10th inning to give Cincinnati a victory over San Diego.

Barry Larkin, who earlier homered, singled to start inning off reliever Greg Booker, 0-1. After Larkin advanced to second on a grounder, Booker walked Kal Daniels before Davis hit his third homer of the season.

Norm Charlton, 1-0, pitched one scoreless inning for the victory, while John Franco retired the side in the 10th for his fourth save.

Bruce Hurst took a no-hitter and a 1-0 lead into the sixth inning, but Larkin homered with one out. Chris Sabo then doubled, and one out later, Davis singled in the go-ahead run.

Hurst, who pitched a one-hitter in his previous outing against Atlanta, threw seven innings, allowing seven hits while striking out nine.

Pirates 6, Expos 4

Glenn Wilson hit a two-run homer and reliever Jeff Robinson struck out pinch-hitter Mike Aldrete with the tying runs on in the ninth inning as the Pittsburgh Pirates beat the Montreal Expos.

Mike Dunne, a questionable starter until an hour before the game because of a family emergency, got the victory by allowing five hits and two runs in 5 2-3 innings.

Cardinals 3, Mets 2

Pedro Guerrero singled home the winning run with one out in the 10th inning and the St. Louis Cardinals beat the New York Mets.

Vince Coleman led off the 10th with a high bouncer to first baseman Keith Hernandez and beat it out for a single.

Giants 1, Braves 0

Don Robinson and Atlee Hammaker combined on a two-hitter and the San Francisco Giants took advantage of center fielder Dale Murphy's misplay to beat the Atlanta Braves 1-0 Saturday.

American League

Brewers 5, Indians 1

Rob Deer hit two home runs and the Milwaukee Brewers beat the Cleveland Indians, ending Tom Candiotti's eight-game winning streak over two seasons.

Royals 10, Blue Jays 5

Pat Tabler did it again with the bases loaded, hitting a single that keyed a three-run rally in the seventh inning and sent the Kansas City Royals over the Toronto Blue Jays.

Orioles 12, Red Sox 4

Larry Sheets and Brady Anderson hit three-run homers and the Baltimore Orioles took advantage of Mike Boddicker's early wildness to beat the Boston Red Sox.

White Sox 7, Athletics 4

Dave Gallagher's three-run homer capped a five-run second inning leading Jerry Reuss and the Chicago White Sox over the Oakland Athletics.

Rangers 4, Tigers 1

Scott Fletcher went 3-for-3 and scored twice and rookie Kevin Brown pitched a seven-hitter as the Texas Rangers won their seventh straight game, a victory over the Detroit Tigers.

Angels 9, Mariners 2

At Seattle, Chuck Finley scattered nine singles as California beat Seattle. Finley, 2-1, walked two and struck out one en route to the complete game.