Sammy Sosa hit his major league-leading 54th homer and rookie Kyle Farnsworth (3-7) pitched a two-hitter as the Chicago Cubs beat the Dodgers, 6-0, last night in Los Angeles to salvage the finale of a three-game series.

Sosa hit a 2-0 pitch from Darren Dreifort (11-13) into the right field bullpen leading off the seventh to break a scoreless tie and trigger a four-run outburst.

Sosa's first career homer against Dreifort traveled an estimated 427 feet.

Sosa's 54th homer came in the Cubs' 129th game and kept him well ahead of his pace last year, when he hit his 54th homer in Chicago's 137th game on his way to 66.

ASTROS 10, MARLINS 4: Mike Hampton tied teammate Jose Lima with his National League-leading 17th victory and rookies Daryle Ward and Lance Berkman homered on consecutive pitches as the host Astros beat Florida.

Ward's three-run homer and Berkman's solo shot erased the Marlins' 2-1 lead in the sixth inning.

Hampton (17-3) overcame a career high-tying seven walks and improved to 8-0 in his last 11 starts. He gave up three earned runs in 7 1/3 innings.

Craig Biggio led off the Astros' sixth with a single and Jeff Bagwell walked. With two outs, Alex Fernandez gave up the consecutive homers by Ward and Berkman into the right field seats.

BRAVES 4, CARDINALS 3: Chipper Jones homered with one out in the 12th as visiting Atlanta extended its winning streak to 10 games.

The Braves moved 3 1/2 games ahead of the Mets for first place in the NL East.

Jones hit a 2-2 fastball from Juan Acevedo (5-6) over the center field wall for his 34th homer and sent the Cardinals to their season-worst sixth straight loss.

Atlanta Manager Bobby Cox was ejected for the ninth time this season for arguing a check-swing call on Mark McGwire in the eighth.

DIAMONDBACKS 8, METS 4: Luis Gonzalez drove in four runs with a home run, two doubles and a single as the Diamondbacks beat visiting New York.

The Diamondbacks stayed 8 1/2 games ahead of second-place San Francisco in the NL West.

Gonzalez has hit safely in his last 13 games, his fourth double-digit hitting streak of the season. He doubled in runs in the first and second innings, then hit a solo homer in the seventh, all off Al Leiter (10-9).

EXPOS 8, REDS 6: Geoff Blum's triple drove in the tying and go-ahead runs in the sixth as host Montreal spoiled Pete Harnisch's second attempt for his 100th career victory.

Trailing 6-5 with runners on first and second and two outs, Blum tripled to put the Expos ahead and chase Harnisch (13-8).

Harnisch had a 5-0 lead and held Montreal hitless through the first four innings before the Expos scored five times in the fifth to tie the game.

GIANTS 5, PIRATES 3: Shawn Estes pitched eight strong innings and J.T. Snow drove in three runs for host San Francisco.

Estes (9-7) gave up six hits, struck out eight and walked one. Robb Nen struck out the side in the ninth for his 30th save, tying Mike Marshall (178) for 31st all-time.

Snow doubled home two runs in the fifth and added his 19th homer of the year in the seventh to give San Francisco a 5-1 lead.

PADRES 5, BREWERS 4: Buddy Carlyle, making his major league debut, held visiting Milwaukee hitless for 5 2/3 innings and the Padres went on to beat the Brewers in 10 innings.

Dave Magadan won the game with a bases-loaded sacrifice fly in the 10th inning.

Carlyle, at 21 the youngest San Diego starting pitcher since 1971, allowed only one runner through five innings. He yielded only two hits in seven innings and gave up four runs, just one of them earned.

ROCKIES 6, PHILLIES 5: Darryl Kile overcame a shaky start and Larry Walker had three hits as the Rockies beat visiting Philadelphia to complete a three-game sweep.

Kile (8-12) gave up four runs in the first three innings but recovered to win his eighth straight decision over the Phillies. His 13 career wins against Philadelphia are his most against any team.

Walker went 3 for 5 with three singles to raise his league-leading average to .366.