Len Dykstra's leadoff home run triggered a four-run first inning as the New York Mets won their eighth straight game, a 4-3 victory over the Cardinals yesterday in St. Louis.

At 10-3, the Mets are off to the best start in their 25-year history. The Cardinals suffered their sixth straight defeat, their longest losing streak since April 1984.

Mets starter Sid Fernandez took a one-hitter and 4-1 lead into the ninth, but he got the hook from Manager Davey Johnson after Willie McGee led off with a single.

Tommy Herr greeted reliever Roger McDowell with an RBI double, and Jack Clark followed with a run-scoring single that made it 4-3. Tito Landrum's bunt single put runners at first and second, and Mike Heath then bunted into a forceout at third.

Jesse Orosco was summoned from the Mets' bullpen, and Terry Pendleton hit the first pitch hard up the middle, but second baseman Wally Backman dove, backhanded the ball and started a double play that ended the game. Orosco got his third save.

Fernandez (2-0) struck out 10 and walked two. He gave up a one-out single to Herr in the first inning and did not allow another hit until McGee's single.

*Phillies 6, Pirates 5: Rick Schu hit two home runs and Chris James' two-run homer, his first in the major leagues, broke a seventh-inning tie as visiting Philadelphia won.

Mike Schmidt lined a two-run double during the Phillies' four-run seventh and became the team's all-time runs-batted-in leader with 1,288. The previous record of 1,287 was held by Ed Delahanty.

"I've been around Pete Rose long enough to know that if you play long enough, you'll break some records," Schmidt said.

The Pirates have lost five in a row since putting together a five-game winning streak.

*Expos 4, Cubs 2: Montreal's Mitch Webster singled home Tim Raines from second base in the eighth inning for the winning run in Chicago.

Mike Fitzgerald homered in the ninth for a 4-2 Expos lead. Montreal's Andre Dawson hit his fifth home run of the season in the first.

*Astros 1, Reds 0: Billy Hatcher scored from third base on a passed ball with two out in the ninth inning as Houston beat visiting Cincinnati.

The Astros won for the ninth time in the last 11 games.

Jose Cruz led off the ninth with a single off Bill Gullickson (0-2). One out later, pinch runner Hatcher stole second and Kevin Bass received an intentional walk. After Denny Walling forced Bass, with Hatcher moving to third, Alan Ashby was at bat with a 2-1 count when catcher Bo Diaz allowed a high pitch to tip off his mitt for a passed ball.

*Giants 3, Padres 2: Will Clark's home run with two out in the top of the 10th inning allowed San Francisco to win in San Diego despite a career-high 13-strikeout performance by Eric Show.

The 13 strikeouts by Show (0-2) were the most by a National League pitcher this season.

San Diego's Graig Nettles hit the 370th home run of his major league career, tying him with Gil Hodges for 29th on the all-time list.

*Braves 5, Dodgers 4: Rookie Andres Thomas singled home Ozzie Virgil from second base with two out in the 10th inning for the winning run in Los Angeles.

Bob Horner led off with a single off Ed Vande Berg (1-1). One out later, Virgil reached on a fielder's choice and Ken Oberkfell stroked his third hit of the game to put runners on first and second. Thomas lashed a 2-1 pitch into center field as Virgil came around to score easily.

Bruce Sutter (1-0) pitched two-thirds of an inning for the victory. Jeff Dedmon relieved and notched his first save as the Dodgers fell to 0-5 in extra-inning games.