Brett Tomko had quite an outing against Philadelphia: He got back in the win column, tamed Philly's homer-friendly park and put San Francisco within a whisker of the wild-card lead.

Tomko allowed one run in six innings for his first win in nearly a month and helped the Giants complete a three-game sweep of the Philadelphia Phillies with a 3-1 victory yesterday.

Tomko (6-6) allowed four hits, giving up his only run on Bobby Abreu's sixth-inning homer. He had been 0-1 in five starts since beating Arizona on July 19. The flyball pitcher admitted to some concern pitching in the notorious hitter's park, but refused to change his approach.

"Every time the ball is hit in the air here you kind of gasp a little bit," Tomko said. "It's one of those ballparks like Coors [in Colorado] where you don't know what's going to happen. No lead is safe."

Unless, perhaps, it's handed to a bullpen like San Francisco's.

Scott Eyre pitched 12/3 innings, and Jim Brower got Placido Polanco to fly out in the eighth. Dustin Hermanson finished for his third save since becoming the San Francisco closer.

The Giants' bullpen allowed one run and six hits in 111/3 innings in the series while sweeping the Phillies for the first time since 1998.

San Francisco (64-55) is less than a percentage point behind San Diego and Chicago (63-54), who share the wild-card lead. The Giants are 61/2 games back of the Dodgers in the NL West.

"There's still a long time, but we're already looking at the possibility of the wild card," Giants Manager Felipe Alou said. "There are so many teams in that purgatory."

* DODGERS 8, CUBS 5: Adrian Beltre and Shawn Green homered, and Steve Finley hit a go-ahead RBI single in the eighth inning as Los Angeles rallied in Chicago.

Corey Patterson hit a two-run homer, and Ramon Martinez and Michael Barrett each hit solo shots for Chicago, whose bullpen spoiled a strong start by Mark Prior.

Duaner Sanchez (3-1) pitched a scoreless seventh for the win, and Eric Gagne pitched the eighth and ninth innings for his 35th save in 36 opportunities.

Prior allowed three runs and eight hits in 61/3 innings. He struck out a season-high nine batters and walked two.

* PADRES 7, REDS 2: Adam Eaton allowed two runs in the first inning but kept Cincinnati scoreless over the next five, and also drove in two runs in San Diego's road victory.

Eaton (8-10) gave up eight hits and one walk with eight strikeouts in six innings, and went 2 for 2 with two doubles, two runs and a sacrifice bunt.

"I'm surprised he's not hitting higher than he is," Padres Manager Bruce Bochy said of Eaton, who is batting .213. "One day, he's going to win the batting title for pitchers."

* DIAMONDBACKS 2, METS 0: In New York, Randy Johnson took a four-hitter into the ninth inning to help Arizona end a nine-game losing streak.

Luis Terrero had an RBI single in the sixth and Johnson matched a season high with 14 strikeouts as Arizona won for just the fourth time in 26 road games. It was Johnson's eighth double-digit strikeout game this season and 199th of his career.

* PIRATES 3, ROCKIES 0: In Pittsburgh, Craig Wilson had three hits and two RBI, and Josh Fogg pitched six innings to win for the first time in eight starts since July 2.

The game was interrupted by a fourth-inning fight that led to the ejections of Colorado starting pitcher Joe Kennedy and Pirates catcher Jason Kendall.

* MARLINS 5, BREWERS 3: Luis Castillo tied the score with a ninth-inning single, and pinch hitter Damion Easley hit a two-run double in the 10th inning that led visiting Florida to the win.

Doug Davis pitched seven shutout innings for Milwaukee, which took a 3-0 lead against World Series most valuable player Josh Beckett before Miguel Cabrera homered off Matt Wise in the eighth.

* ASTROS 5, EXPOS 4: Pinch hitter Orlando Palmeiro singled home the go-ahead run to cap a three-run rally in the ninth inning, and Houston ended the host Expos' winning streak at a season-high seven.