The St. Louis Cardinals won big at home, 10-2, over the Chicago Cubs yesterday and increased their National League East lead to 2 1/2 games when one of the players they traded away on season's eve, Andy Van Slyke, broke up a 14-inning game in Pittsburgh between the Pirates and the second-place New York Mets.

In Montreal, meanwhile, the Expos lost to Philadelphia, 4-1, and fell three games off the Cardinals' pace.

In Pittsburgh, Barry Bonds tripled and Van Slyke delivered a sacrifice fly that not only stunned the Mets, 9-8, but pulled the Pirates out of last place in the East for the first time this late in a season since 1983.

With one out in the 14th, Bonds' hit down the right field line momentarily eluded Darryl Strawberry, allowing Bonds to stretch the hit into a triple. Jose Lind was intentionally walked before Randy Myers replaced Bob Ojeda (2-5).

Van Slyke then lofted a ball to medium right field against the Mets' drawn-in outfield, Bonds scoring easily to close out just under five hours of play.

The Mets took an 8-7 lead in the 12th on Tim Teufel's double, his fourth RBI of the game, but the Pirates made it 8-8 on Bobby Bonilla's two-out RBI single. Each team had scored a run in the seventh after Teufel's three-run homer in the sixth was trumped by Darnell Coles' grand slam in the bottom of that inning for a 6-6 tie.

Mets starter Sid Fernandez allowed only five hits over six-plus innings, but three were homers. Bonds hit his 23rd in the first inning and Mike Diaz hit one in the fifth.

For the Mets, Strawberry hit his 38th homer of the season, a solo in the third, breaking Dave Kingman's club record of 37, which he set in 1976 and tied in 1982.

Howard Johnson's inside-the-park homer, which skipped away from left fielder Bonds, in the fifth tied the league record for homers in a season by a switch-hitter. Johnson's 35 homers match Rip Collins of the 1934 St. Louis Cardinals. Mickey Mantle of the 1961 New York Yankees holds the major league record, 54.

"We're not trying to be spoilers, we're just trying to find out what it's like to be a contender," said Pirates Manager Jim Leyland, whose team lost 17 of 18 to the world champion Mets last year. "In the not-too-distant future, we want to be in the race ourselves."

The Pirates have won 11 of their last 14, including four of seven in the last week against the top three teams in the NL East.

In St. Louis, John Morris drove in a career-high four runs, Vince Coleman knocked in three and Terry Pendleton had four hits for the Cardinals. Chicago never scored after Andre Dawson hit his league-leading 45th homer, with one on, in the first inning.

Bob Forsch (11-5) won for the first time in six starts since Aug. 10, leaving with two out in the sixth because of a strained groin.

Morris, who missed the previous three games due to the death of his father, had a two-run single in a three-run second inning and an RBI single in a four-run fifth. "I know he's right up there saying, 'That's the way to go, Johnny,' " said Morris, vowing to dedicate the rest of the season to his father's memory.

A Busch Stadium turnout of 44,894 brought St. Louis' attendance for 69 home dates to 2,650,452, setting a Cardinals one-season record that eclipsed the 2,637,563 they drew in 1985.

In Montreal, Philadelphia's Kevin Gross homered for the game-winning RBI and pitched his first victory in more than a month. Mike Schmidt set a major leage mark for home runs by a third baseman.

Schmidt, with a two-run shot in the eighth inning, has 526 career homers and 487 have come in games in which he played third base, one more than Eddie Mathews. Luis Aguayo -- his 10th this year but first since May 27 -- and Gross homered back to back in the third inning, trumping Tim Wallach's 24th homer in the Expos second.

Gross (9-14), winning for the first time since Aug. 15 -- he served a suspension Sept. 1-10 for having a patch of sandpaper in his glove -- beat Neal Heaton (12-9), who has gone nine starts since he last won, July 30. Steve Bedrosian came on for his 39th save.

Reds 10, Giants 6:

Nick Esasky's bases-loaded homer capped a six-run ninth inning that won for Cincinnati in San Francisco.

The Reds broke the Giants' seven-game winning streak and pulled to within eight games of first place in the NL West.

The Reds went into the ninth trailing, 6-4. Barry Larkin, Kal Daniels -- who already had two homers and a double -- and Jeff Treadway singled for one run. Eric Davis, who earlier got his 100th RBI, walked. Dave Parker's sacrifice fly tied the score. After Buddy Bell walked, Jon Perlman became the Giants' fourth pitcher of the inning and Esasky drove a 1-2 pitch off the top of the left field screen.

Astros 3, Padres 2:

Pinch hitter Jim Pankovits lined a bases-loaded, tie-breaking single to left in the bottom of the ninth in Houston, snapping streaks of five San Diego wins and four Astros losses. Mike Scott (16-12) won on a four-hitter.

Padres catcher Benito Santiago, whose 23-game hitting streak is the NL's longest this year and ties the longest by a rookie in modern major league history, did not play.

Braves 5, Dodgers 3:

Ralph Bryant had three hits, including a two-run single in a four-run Los Angeles first inning. Rookie Tim Belcher (3-1) gave up two Atlanta runs in the top of the first but settled down.