Howard Johnson hit a grand slam to set an NL single-season record for home runs by a switch hitter, Darryl Strawberry stole two bases to join Johnson in the 30 homer-30 steal club and the New York Mets defeated the Chicago Cubs, 7-1, yesterday at Wrigley Field.

The victory allowed the Mets to remain 2 1/2 games behind the NL East-leading St. Louis Cardinals, who defeated the Philadelphia Phillies, 3-1. The Montreal Expos fell four games back by losing, 5-2, to the Pittsburgh Pirates.

Johnson's 36th homer of the season, off Cubs reliever Ed Lynch, put the Mets ahead, 5-1, in the eighth inning and enabled him to surpass the mark set by Rip Collins of the St. Louis Cardinals in 1934. Johnson has hit 21 of his homers batting left-handed.

Dwight Gooden (15-6) allowed seven hits, struck out nine and did not walk a batter in his second straight complete game. Rookie Les Lancaster fell to 7-2. The game was delayed 61 minutes by rain in the third inning.

Lancaster retired 14 straight batters before Strawberry singled with two out in the eighth. Strawberry then stole his second base of the game.

It was Strawberry's 30th steal of the season, enabling the Mets to become the first major league team to have two players with at least 30 homers and 30 stolen bases in the same season. Strawberry now has 38 homers and 30 steals. In addition to his 36 homers, Johnson has 31 steals.

With Strawberry on second, Kevin McReynolds was intentionally walked. Gary Carter then beat out an infield hit to load the bases.

Lynch relieved Lancaster and Johnson homered into the center field bleachers. The grand slam was Johnson's second of the year and fourth of his career.

The Cubs were managed by Coach Johnny Oates, who was filling in for suspended manager Frank Lucchesi. Lucchesi was suspended for two days yesterday for bumping umpire Joe West in the third inning of Sunday's game against St. Louis.

Cardinals 3, Phillies 1:

Vince Coleman and David Green homered in a three-run fifth inning that gave St. Louis the win at home.

The Cardinals managed just three hits for the game, all in the fifth off Philadelphia starter Don Carman (11-11).

John Tudor (8-2) gave up eight hits in 7 1/3 innings. Todd Worrell earned his 31st save.

Green led off the fifth with his first homer since Aug. 17, 1985, when he was a member of the San Francisco Giants. After Tony Pena reached on a fielder's choice, Coleman, who had not hit a home run out of the park in his major league career until Aug. 26, hit his second over-the-fence homer in two days to end a 1-1 tie.

Philadelphia's Glenn Wilson was ejected after he argued a strike call in the ninth. Greg Gross finished the at-bat and flied out.

Pirates 5, Expos 2:

Doug Drabek allowed five hits over seven innings, Andy Van Slyke doubled twice and Pittsburgh won in Montreal. The victory was the Pirates' 12th in 15 games.

Drabek (9-12) allowed two runs, walked one and struck out eight as he improved to 7-2 in his last 10 starts. Jeff Robinson pitched two innings for his 12th save. Montreal's Bob Sebra (6-15) is winless since July 12.

Dodgers 4, Giants 2:

Pinch hitter Danny Heep doubled for two runs with two out in the ninth inning, giving Los Angeles the victory in San Francisco.

The Dodgers' win allowed Bob Welch (13-9) to improve his lifetime mark at Candlestick Park to 7-0. Welch, who held San Francisco hitless for seven innings after giving up a two-run homer and two singles in the first, has an 18-4 career record against the Giants.