Sammy Sosa hit another home run but Matt Williams hit a pair of two-run homers and Randy Johnson struck out 11 as the Arizona Diamondbacks beat the Chicago Cubs, 10-3, last night in Phoenix.

Sosa hit his 47th home run of the season for Chicago to tie him with Mark McGwire.

Sosa had struck out his last five at-bats against Johnson, twice in this game, before his two-run homer in the sixth.

The 456-foot blast on an 0-1 pitch landed in the eating area outside Friday's Front Row restaurant in the second deck in left field. It was Sosa's fourth homer in the last three games.

Sosa is ahead of last year's pace, when he hit 66 home runs. Last year, No. 47 came in the Cubs' 124th game. This year, No. 47 came in the 117th game. However, both last year and this year, Sosa hit his 47th on Aug. 16.

Johnson (12-8) had double-digit strikeouts for the sixth outing in a row, 19th time this season and 121st time in his career. He struck out Sosa three times, the last time in the eighth inning.

Johnson yielded six hits and didn't walk a batter, although he did hit one, in eight innings.

Steve Finley hit a two-run home run for Arizona and Johnson hit a two-run double over Sosa's head in center field.

ASTROS 2, BREWERS 0: Jose Lima dominated Milwaukee once again, allowing two hits in eight-plus innings in Houston.

Lima (16-7) struck out four and walked three to win at home for the first time since June 12. He left reluctantly after walking Rich Becker to open the ninth, snapping a string of 15 straight outs.

Billy Wagner struck out the next three batters on 10 pitches for his 28th save in 30 chances.

Lima is 8-0 with a 1.60 ERA in 10 career games against the Brewers.

BRAVES 14, ROCKIES 6: Jose Hernandez had five RBI and light-hitting Eddie Perez hit a pair of two-run homers, for visiting Atlanta.

Hernandez had a two-run single and a three-run homer, helping Greg Maddux (15-6) win his fifth consecutive game despite his second straight mediocre performance.

Maddux, whose ERA rose to 3.66, gave up five runs and 12 hits in six innings.

Brian Hunter also had a two-run drive and Gerald Williams hit a solo shot as Atlanta hit five home runs to snap Colorado's three-game winning streak. The Braves remained tied with the Mets for the NL East lead.

METS 4, PADRES 3: Edgardo Alfonzo homered in the 10th inning and New York held host San Diego to two hits.

Mets rookie Octavio Dotel, given a 2-0 lead on home runs by Mike Piazza and Rickey Henderson, took a no-hit bid into the seventh. But after two walks to start the inning, Phil Nevin hit a three-run homer.

Alfonzo singled in the eighth and later scored on Piazza's double-play grounder to make it 3-all.

Alfonzo connected against Will Cunnane (2-1) for his 19th home run.

REDS 9, PIRATES 2: Juan Guzman overcame a pair of home runs by former teammate Ed Sprague and pitched host Cincinnati past Pittsburgh.

Pokey Reese's three-run homer keyed a four-run second inning for the NL Central leaders.

Guzman (2-1) pitched effectively for the third consecutive time since being acquired from Baltimore on July 31. He allowed five hits, walked none and struck out three in seven innings.

GIANTS 7, EXPOS 4: Rookie right-hander Joe Nathan, recalled from the minor leagues earlier in the day, gave up three hits in 6 1/3 innings for San Francisco at home.

Barry Bonds homered and doubled to drive in two runs and Ellis Burks had three hits, including two run-scoring doubles as San Francisco won for the 10th time in the last 31 games. Robb Nen pitched the ninth for his 27th save.

CARDINALS 4, PHILLIES 3: In St. Louis, Craig Paquette hit a three-run home run in the sixth inning, his second straight game-winning hit, for the Cardinals.

Paquette has two homers and seven RBI in the last three games, and his two-out, two-run single in the ninth inning gave the Cardinals a 6-5 victory over Chicago on Sunday. Paquette has four homers and 12 RBI in 13 games since being acquired from the Mets for Shawon Dunston.

Mark McGwire was 0 for 3 with a walk, although he remained on pace with his record 70-homer season. He didn't hit his 48th homer until the Cardinals' 124th game last year and this was their 120th.

MARLINS 7, DODGERS 5: Preston Wilson hit a grand slam and Kevin Millar homered and added a go-ahead sacrifice fly in Los Angeles. Dodgers Manager Davey Johnson was ejected for the third time this season. He argued with second-base umpire Mike Winters, who called interference on Trenidad Hubbard for a seventh-inning slide. The ruling resulted in an inning-ending double play that cost Los Angeles what would have been the tying run.