Sammy Sosa hit his 49th home run Friday and the Chicago Cubs rallied for two runs in the bottom of the ninth inning to beat the San Francisco Giants 6-5 in Chicago.

Trailing 5-4 in the bottom of the ninth, Sosa singled with one out off Robb Nen (7-4) and Mark Grace walked. Henry Rodriguez then lofted a broken bat single to right to drive in Sosa and tie the game.Jose Hernandez singled down the right-field line over a drawn in infield as Nen blew his fourth save in 35 opportunities.

Felix Heredia (1-3) got two outs for the victory.

Sosa moved within two of Mark McGwire's major league home run lead. His 49 homers ties Andrew Dawson for second most in club history, a mark Dawson set in 1987.

The club and National League record is 56 set by Hack Wilson in 1930.

Kerry Wood, without a victory in four starts since July 31, allowed five hits and three runs in six innings and gave up Jeff Kent's two-run homer in the sixth, his 21st.

BRAVES 5, PADRES 4: At Atlanta, John Smoltz survived a shaky beginning for his seventh straight win and Atlanta maintained its exclusive hold on the top record in the NL.

The Braves pushed their lead over the Padres back to two games in a race that could be significant in October. For the first time, the team with the best record is assured of home-field advantage throughout the league playoffs.

Smoltz (12-2) fell behind 3-0 in the first inning but bounced back to retire 11 in a row before tiring in the seventh. The right-hander, who hasn't lost since June 26, allowed eight hits and four walks but struck out eight.

CARDINALS 10, METS 5 (1ST); METS 1, CARDINALS 0 (2ND): At New York, Mark McGwire did not get any closer to Roger Maris in this doubleheader.

After getting a pinch-hit, RBI double in the first game, McGwire struck out three times and walked as the St. Louis Cardinals lost the second game 1-0.

McGwire, who homered twice Wednesday and two more times in Thursday's doubleheader to reach 51, has 34 games remaining to reach Maris' record of 61.

Armando Reynoso (5-0) won his fifth consecutive start since coming off the disabled list, allowing three hits in seven innings with seven strikeouts and six walks to win the nightcap.

Hideo Nomo (5-11) lost his third straight start, giving up five runs and five hits in five-plus innings.

DODGERS 5, MARLINS 1: At Miami, Chan Ho Park pitched eight innings and Raul Mondesi hit a three-run homer for Los Angeles.

Adrian Beltre drove in the Dodgers' first two runs with a single and a homer.

Park (11-7), who came into the game with a 6.14 career ERA against Florida, allowed four hits and one run for his first victory since July 30.

PIRATES 14, REDS 2: At Pittsburgh, Jason Kendall and Al Martin each hit two-run homers as Pittsburgh had their biggest offensive game of the season.

The Pirates posted a season-high for runs and had 17 hits in winning their fifth straight game. They have reached double figures in hits in seven of the last eight games and have hit 16 home runs in 11 games.

PHILLIES 1, DIAMONDBACKS 0: At Philadelphia, Mark Portugal recorded his 100th career victory, helping himself with an alert defensive play.

Portugal (8-3) pitched 7 1-3 innings, allowing five singles and three walks. He struck out six and improved to 100-81 lifetime.

ROCKIES 3, EXPOS 2: At Montreal, Vinny Castilla hit his 37th homer with two outs in the top of the ninth to lift Colorado.

Castilla homered off Ugueth Urbina (4-3) to send Montreal to its ninth loss in 11 games.

Dave Veres (1-1) got four outs for the victory as the Rockies won their sixth straight over the Expos. Montreal put the tying run at third but pinch-hitter Robert Perez popped out to Veres.

ASTROS 5, BREWERS 2: At Milwaukee, Richard Hidalgo hit a two-run homer and Jeff Bagwell scored three times Friday night to lead Houston.

The NL Central-leading Astros won for the 15th time in 21 games. They took the season series against Milwaukee 7-2.

Sean Bergman (11-6), who had two no-decisions and a loss in his last three starts, allowed seven hits and two runs in 6 2/3 innings.

AMERICAN LEAGUE

YANKEES 5, RANGERS 0: At Arlington, Texas, David Wells pitched a six-hitter and Tino Martinez homered twice as New York snapped a rare two-game losing streak.

Wells (16-2) finally solved the Rangers, who had rallied from nine- and three-run deficits to beat him this season. He struck out seven and walked one in his fourth shutout.

Wells, who entered with a 12.46 ERA against the Rangers this year, has won eight straight decisions.

The Yankees, who have lost two in a row seven times this year, have lost three straight just once - the first three games of the season.

RED SOX 9, TWINS 2: At Minneapolis, Damon Buford and Nomar Garciaparra each hit three-run homers and Steve Avery pitched a season-high seven innings for Boston.

Garciaparra went 3-for-5 with four RBIs and Mo Vaughn drove in two runs for the Red Sox. Four Twins pitchers helped Boston with eight walks and two wild pitches.

INDIANS 6, ORIOLES 3: At Baltimore, Jaret Wright beat Baltimore for the second time in five days and Cleveland took the luster off a big night for Cal Ripken.

Ripken grounded an opposite-field single to right in the seventh inning for his 2,849th career hit, eclipsing the Orioles franchise record held by Brooks Robinson. Ripken received a lengthy standing ovation from the sellout crowd of 48,374, the largest to attend a regular-season game in the seven-year history of Camden Yards.

ROYALS 6, DEVIL RAYS 5 : At St. Petersburg, Fla., Johnny Damon and Hal Morris both drove in runs in the 11th inning for Kansas City.

The Royals rallied for two runs in the ninth against Roberto Hernandez to tie it at 4, then won it in the 10th off Esteban Yan (4-4).

Damon hit a one-out single off second baseman Miguel Cairo's glove and Morris added a sacrifice fly.

Matt Whisenant (2-1) worked a scoreless 10th inning for the win. Jeff Montgomery pitched the 11th for his 27th save.

MARINERS 5, WHITE SOX 4: At Seattle, Russ Davis delivered an RBI double in the eighth inning as the Seattle Mariners rediscovered the longball and snapped a three-game losing streak.

After going a season-high four games without a home run, the Mariners got home runs from Jay Buhner and Edgar Martinez to take a 4-3 lead. Seattle leads the majors with 188 homers.

Albert Belle hit his 38th home run for the White Sox, tying it in the seventh against Jeff Fassero.

ATHLETICS 4, TIGERS 2: At Oakland, Calif., Mike Oquist won for the first time in more than a month by pitching six strong innings as the Athletics claimed their fourth straight victory.

Oquist (7-10) withstood solo homers by Tony Clark and Juan Encarnacion to snap his personal five-game losing streak and register his first win since July 13.

BLUE JAYS 9, ANGELS 4: At Anaheim, Calif., Carlos Delgado homered twice and Jose Canseco hit a two-run shot to lead the Toronto over Anaheim, as the Angels played the game under protest.

Chris Carpenter (9-6) won his third consecutive start, allowing two earned runs and five hits in seven innings.

After loading the bases with none out in the second inning, the Angels tied it 1-1 as Tim Salmon scored on shortstop Alex Gonzalez's one-out fielding error.

Gary DiSarcina followed with a fly to right that Shawn Green lost in the lights, allowing Jim Edmonds to come home with what the Angels thought was their second run. Carpenter backed up the plate on the wide throw by Green and threw to third for the force on Garret Anderson, who inexplicably broke back to second as Matt Walbeck retreated to first - where DiSarcina already was.

Third baseman Tony Fernandez, who took Carpenter's throw for the second out, relayed to second baseman Craig Grebeck for the inning-ending force. The umpires ruled that the run didn't count because both outs were recorded on force plays.

Angels manager Terry Collins argued with plate umpire Greg Kosc and crew chief Larry Barnett before announcing the protest.