Sid Fernandez pitched a three-hitter, retiring 26 of the final 28 batters, and the New York Mets used a five-run fifth inning to defeat the Pittsburgh Pirates, 5-1, at Shea Stadium yesterday for their fourth straight victory and seventh in the last eight games.

Fernandez (7-2) defeated the Pirates for the second time in a week. He beat them, 4-3, last Sunday.

"I'm more mature this season," said Fernandez, who went 9-9 in 1985. "I didn't pitch as badly last year as my record would indicate, but now I'm more mature and my curveball has improved a great deal.

"This was the first spring in which I pitched fairly well. Last year I was terrible and, instead of making the club as everyone expected, I wound up starting the season in the minors. That wasn't good. This is."

The Pirates scored in the first inning as Barry Bonds walked, stole second, took third on Rafael Belliard's single and scored on Mike Brown's sacrifice fly. After Belliard's hit, Fernandez retired 16 batters in a row before Bonds singled.

In the Mets' fifth, Len Dykstra, Wally Backman and Keith Hernandez had RBI singles. The final two runs were scored on errors.

*Cardinals 1, Cubs 0: Tom Herr's home run backed the five-hit pitching of Ray Burris and Todd Worrell as St. Louis won in Chicago, spoiling the debut of Cubs Manager Gene Michael, who was ejected.

Herr's homer came in the second inning off Scott Sanderson (3-4). Sanderson then retired 14 batters in a row before he and Michael were ejected in the seventh inning by home plate umpire Eric Gregg.

Both clubs had been warned before the series about throwing at each other because of an incident in St. Louis last week when the Cardinals' Greg Bargar hit Cubs shortstop Shawon Dunston with a pitch.

In the sixth inning, Burris threw a pitch that sent Cubs catcher Jody Davis to the ground, but Gregg did nothing.

In the seventh, Sanderson had a 0-2 count on leadoff hitter Terry Pendleton when he threw a pitch high and inside, and Gregg reacted. He ejected Sanderson, and the manager automatically is ejected under the circumstances. After the game, Michael, who left the New York Yankees to replace the fired Jim Frey, said: "This is a tough league."

*Reds 2, Braves 1: Eric Davis led off the ninth inning with a single and eventually scored on an error by third baseman Rafael Ramirez as Cincinnati won in Atlanta.

Davis' hit came off Paul Assenmacher (2-2), the Braves' fourth pitcher. After going to second on Buddy Bell's sacrifice, Davis got his 17th stolen base of the season and scored when catcher Ozzie Virgil's throw bounced off Ramirez's glove, 15 feet behind third.

Ron Robinson (4-0) was the winner, pitching 2 1/3 scoreless innings.

*Phillies 7, Expos 6: Darren Daulton had three hits, including a tie-breaking single during a three-run sixth inning, and helped lift Philadelphia over visiting Montreal.

With the score tied at 4-4, Glenn Wilson led off the sixth with a double that extended his hitting streak to 13 games. Daulton followed with his third single of the game, scoring Wilson.

One out later, pinch-hitter Jeff Stone singled before Greg Gross and Ron Roenicke delivered RBI singles.

*Astros 7, Giants 3: In Houston, Phil Garner hit his 100th career home run, a seventh-inning grand slam that sent the Astros past San Francisco.

Billy Hatcher singled and Jose Cruz and Kevin Bass drew walks from Greg Minton before Garner greeted Jeff Robinson with his third career grand slam.

Houston starter Jim Deshaies (3-2) pitched five innings and gave up two runs on five hits.

*Padres 12, Dodgers 0: In San Diego, Graig Nettles hit a three-run home run, Kevin McReynolds had a two-run homer and Tony Gwynn drove in three runs with a pair of doubles and a triple as the Padres ended Los Angeles' four-game winning streak.

Eric Show (4-4) allowed three hits in seven innings for his first victory since May 20.