The Giants took three of four games in the series from the Phillies as Bill Swift pitched seven strong innings Sunday in the Giants' 5-2 victory over Philadelphia at San Francisco.
The Giants won eight of 12 games against the Phillies this season in a matchup of first-place teams.
"We just didn't get the breaks," Phillie Manager Jim Fregosi said. "But we do have to play a lot better. Our pitching has been tremendous. We have to come up with the clutch hits. Hopefully, we'll be there with the Giants for the pennant."
San Francisco remained nine games ahead of Atlanta in the West, but Philadelphia saw its lead over St. Louis sliced to four games.
Swift (14-5) gave up three hits and struck out nine. It was his fourth consecutive victory, and the Giants won for the ninth time in their last 12 games.
Barry Bonds hit a two-run homer off reliever Larry Andersen in the seventh inning for a league-leading 29 home runs and 79 runs batted in. Against the Phillies this season, he batted .364 with five homers and 16 RBIs.
Atlanta 13, Pittsburgh 1--David Justice went four for five with three RBIs and the Atlanta Braves, their offense sparked since trading for Fred McGriff, finished a weekend demolition of the Pirates' pitching at Pittsburgh.
The Braves outhit the Pirates, 21-4, giving them 67 hits overall as they took three of four in the series by outscoring the Pirates, 37-17. The weekend before, the Braves had only 21 hits in four games while winning three of four from Pittsburgh before trading for McGriff.
The Braves didn't spare any of the Pirates' five pitchers, including starter Randy Tomlin (3-7), who gave up nine hits and seven runs in 2 1/3 innings.
St. Louis 5, Colorado 4--Todd Zeile had four hits and two RBIs, capped by a two-out run-scoring single in the 11th inning to lift the Cardinals at Denver.
Zeile led off the eighth inning with a homer to put the Cardinals ahead, 3-2, but Dante Bichette hit a two-run homer in the bottom of the inning.
After both teams squandered scoring opportunities, St. Louis got to reliever Gary Wayne (2-3) for three singles in the 11th. Pitcher Omar Olivares singled down the third-base line and went to second on a single by Gregg Jefferies. Zeile hit a sharp single to center for the go-ahead run.
In the bottom of the 11th, Cardinal reliever Lee Smith threw only three pitches before leaving the game with a strained right groin. Lee Guetterman replaced him and recorded his first save.
Montreal 5, San Diego 4--Marquis Grissom, who ended an 0-for-16 slump with a run-scoring double in the eighth inning, scored the go-ahead run on an error in the 10th at San Diego.
Grissom beat out an infield single leading off the 10th, stole second for his 200th career stolen base and took third on Larry Walker's fly ball. He scored when shortstop Ricky Gutierrez dropped Moises Alou's chopper.
Chicago 3, Houston 1--Cub rookie Kevin Roberson, who tied the score with a home run in the ninth inning, delivered a run-scoring single in the 11th to lift Chicago at Houston.
Roberson hit a 1-2 pitch from Doug Jones (3-8) into right field to score Sammy Sosa with the go-ahead run. Sosa led off with a bunt single and moved to third after Jones committed a throwing error on Steve Buechele's bunt.
Florida 7, Cincinnati 3--Orestes Destrade drove in three runs, including a two-run homer, and rookie Robb Nen won his first National League start to lead the Marlins at Miami.
Destrade, given a rest Saturday night and dropped to sixth in the batting order, had batted only .182 since the All-Star break. But he walked and was three for three, including a run-scoring single in a four-run fifth inning and his eighth homer in the seventh.