Atlanta doesn't mind a homerless game as long as it's a win.

The Braves' streak of consecutive games with home runs ended at a record-tying 25 Thursday night. They didn't care much, because they rallied with seven runs in the eighth inning to beat the St. Louis Cardinals 7-3."If we had hit a home run and lost, everybody would be dejected," Chipper Jones said. "Tonight, being dominated for seven innings, it was just nice to come back and get a win."

Atlanta's streak matched the 1941 New York Yankees and 1994 Detroit Tigers. The Braves, who have won six straight and 15 of 17, came close just twice Thursday: Ryan Klesko's first-inning drive was caught on the warning track in right-center, and Michael Tucker flied out to the track in left in the seventh.

"This is one of the best victories of the season," Klesko said. "The team's in the books. We had a fun time while it lasted."

CUBS 9, ROCKIES 7: Vinny Castilla went 5-for-6 at Coors Field, with his major league-leading 16th homer, but Henry Rodriguez hit his fourth career grand slam and Mark Grace had his third career two-homer game as the Cubs won their fourth straight.

PADRES 3, METS 1; PADRES 6, METS 2: At San Diego, Tony Gwynn hit a game-tying bloop single in the seventh inning of the opener, then broke a 2-2 tie in the second game with a three-run homer in the seventh off Dennis Cook, who relieved Greg McMichael (1-1). Dan Miceli (3-1) pitched the final three innings to win the second game.

GIANTS 6, EXPOS 1; GIANTS 2, EXPOS 0: Danny Darwin (4-2) and Robb Nen combined on a four-hitter as San Francisco completed the sweep. The visiting Expos were held to 10 hits in the doubleheader.

Barry Bonds hit a two-run, upper-deck homer off Dustin Hermanson (3-4) in the opener, and Shawn Estes (3-5) allowed one run and five hits in six innings. Julian Tavarez finished with one-hit relief for his first career save.

PHILLIES 4, DODGERS 0: Injury-plagued Mark Portugal (2-0), making just his fifth start since 1996, took a perfect game into the sixth and wound up allowing just two hits in eight innings.

DIAMONDBACKS 4, BREWERS 1: Matt Williams broke an 0-for-26 slump with a tie-breaking two-run double off Cal Eldred (0-3) in the sixth as Arizona stopped an eight-game losing streak.

REDS 11, MARLINS 8: Eddie Taubensee drove in three runs with a single, double and sacrifice fly, sending visiting Florida to its fifth consecutive loss.

PIRATES 7, ASTROS 2: Rookie Jose Silva (4-3) gave up one run and five hits in seven innings at the Astrodome, stopping Houston's five-game winning streak.

AMERICAN LEAGUE

CLEVELAND 5, BALTIMORE 4: Sandy Alomar could barely run to first base after seeing Mike Mussina crumble in front of the mound, his head gushing blood.

"When I saw that the ball hit Mike," Alomar said, "I felt it in my heart, because he's a great competitor, regardless of who he is."

Mussina had his nose broken and his head split open near his right eye Thursday night by Alomar's line drive as the Cleveland Indians defeated the Baltimore Orioles 5-4 to end a six-game losing streak.

Alomar and the crowd at Camden Yards witnessed one of baseball's scariest moments, when a pitcher can't react quickly enough on a shot back through the middle. Arizona's Willie Blair had his jaw fractured on a similar play last season.

Alomar's sixth-inning liner hit off Mussina's forehead and struck his nose.

With an ice pack on his face, Mussina, who never lost consciousness, was helped from the field and taken to a hospital, where X-rays revealed the break.

RANGERS 7, YANKEES 5: At New York, Rusty Greer drove in six runs, hitting a game-tying single in the ninth and a two-run homer in the 13th off Willie Banks (1-1) as Texas overcame a five-run deficit.

WHITE SOX 5, MARINERS 3: At Chicago, Greg Norton, facing Randy Johnson (3-2) for the first time, homered twice and drove in three runs.

TWINS 2, RED SOX 1, 12 innings: At Minneapolis, Pat Meares hit a two-out single off John Wasdin (3-2) in the 12th, giving Minnesota its first three-game winning streak of the season.

ROYALS 10, DEVIL RAYS 2: At St. Petersburg, Fla., Johnny Damon hit a grand slam and Tim Belcher (2-5) won for the first time since opening day as Kansas City completed a two-game sweep.

TIGERS 8, ATHLETICS 3: At Detroit, Bobby Higginson drove in four runs with a pair of two-run doubles as Detroit rallied from a 3-1, sixth-inning deficit.

BLUE JAYS 5, ANGELS 4: At Toronto, Mike Stanley homered with two outs in the ninth off Rich DeLucia (1-2).