Mark McGwire's 400th home run wasn't much help to the St. Louis Cardinals.

McGwire became the 26th - and fastest - player to reach the milestone, connecting in the third inning of the Cardinals' 9-2 loss to the New York Mets on Friday night.McGwire, who hadn't homered in 22 at-bats, walked in the first inning after falling behind 0-2 in the count, his major league-leading 40th of the season.

After Delino DeShields' single in the third, McGwire fell behind 0-2 again against Rick Reed (3-2), then sent a high fly that sailed just fair of the left-field foul pole, his 13th home run of the season.

McGwire hit his 400 homers in 4,726 at-bats. The previous best was 4,854 by Babe Ruth, who finished with a then-record 714. Hank Aaron later extended the record to 755.

Preston Wilson, who made his major league debut Thursday, was 3-for-4 for the second straight night, doubling twice, scoring three times and driving in a run for the Mets. Brian McRae hit a three-run, fourth-inning homer off Cliff Politte (2-2).

PADRES 3, BRAVES 2: Tony Gwynn, batting .541 in his last nine starts, hit a solo home run to back the strong pitching of Alan Ashby as San Diego won in Atlanta.

The Braves, who had won four in a row and nine of 10, homered in their 20th straight game when Andres Galarraga hit his 300th career home run in the seventh. Atlanta tied a team record set in 1973 for consecutive games with a home run and moved within four of the NL record.

Ashby (5-2) gave up nine hits, walked two and struck out one in eight innings. Trevor Hoffman pitched the ninth for his ninth save in nine tries.

REDS 5, PIRATES 3, 10 INNINGS: Cincinnati tied it in the ninth inning, then won it on Brook Fordyce's two-run double off Ricardo Rincon (0-1) in the 10th.

The Pirates took a 3-2 lead into the ninth, but closer Rich Loiselle couldn't preserve it, walking two around Barry Larkin's RBI single - his fourth hit in two games following a 2-for-20 slump.

MARLINS 12, DODGERS 6: Jesus Sanchez struck out a career-high 10 and singled home the go-ahead run in a six-run fifth inning as Florida snapped a four-game losing streak.

Cliff Floyd and Charles Johnson each had two hits and three RBIs in the Marlins' highest-scoring game since getting 12 runs against Arizona on April 26.

Todd Zeile hit a grand slam and Todd Hollandsworth had a pinch-hit homer for the Dodgers.

PHILLIES 6, DIAMONDBACKS 4: Tyler Green struck out a career-high 10 and Philadelphia prolonged Arizona's road woes.

Green (3-2), who left his last start with a mild left hamstring strain, gave up just three hits in eight innings. The right-hander allowed just one hit after the first and retired 18 of his final 19 batters.

Mark Leiter pitched the ninth for his fourth save.

The expansion Diamondbacks, who have lost 10 of their last 11, dropped to 4-19 on the road this year. Arizona pitchers walked a season-high nine.

ROCKIES 7, EXPOS 5: Pedro Astacio won for the first time in seven starts at Olympic Stadium as Colorado put together a five-run sixth inning.

Ellis Burks' third-inning homer was the only hit off Montreal starter Dustin Hermanson (3-3) through the first five innings before Colorado got to him in the sixth as both Dante Bichette and Neifi Perez hit two-run doubles.

CUBS 5, GIANTS 4, 14 INNINGS: Mark Grace hit a two-run, bases-loaded single in the bottom of the 14th to end a nearly five-hour game.

With the Cubs trailing 4-3 in the 14th, Manny Alexander and Brant Brown singled off Julian Tavarez (2-2) and moved up on an infield out.

Sammy Sosa was walked to load the bases, and Jim Poole - the only reliever left in the Giants' bullpen - came into face Grace, who hit a 2-0 pitch into the right-field corner.

Amaury Telemaco (1-1) got the victory despite giving up a run in the top of the 14th on Charlie Hayes' RBI single.

BREWERS 4, ASTROS 1: Mike Hampton lost for the first time this season and Houston's batters set an NL record for strikeouts in consecutive games.

The Astros, victims of Kerry Wood's major league record-tying 20 strikeouts on Wednesday at Wrigley Field, struck out 11 more times, surpassing the NL futility mark for most strikeouts in consecutive nine-inning games.

The previous record was held by the San Diego Padres, whose batters struck out 29 times against the New York Mets from April 21-22, 1970.

AMERICAN LEAGUE

RED SOX 14, ROYALS 3: Bret Saberhagen stayed unbeaten and reminded Kansas City fans why they got so upset when he was traded, and Boston had its biggest hit total in eight years.

Saberhagen, who won two Cy Young Awards and a World Series MVP with Kansas City from 1984-91, improved to 5-0. In his first appearance against the Royals since being traded to the New York Mets after the 1991 season, he gave up seven hits in six innings.

Troy O'Leary hit two home runs and every Boston starter had at least one hit and scored at least once as the Red Sox got 20 hits, their most since a 20-hit attack against Minnesota on May 19, 1990.

ORIOLES 8, DEVIL RAYS 2: Eric Davis hit his third homer in two games and Harold Baines snapped a seventh-inning tie with a two-run, pinch-hit single.

Davis, who homered twice in a loss at Cleveland on Wednesday, has hit five home runs in his last four starts. He led off the seventh against Albie Lopez (0-1) with a drive over the right-field wall to tie it at 2.

YANKEES 5, TWINS 1: Chuck Knoblauch helped make sure his return to Minnesota wouldn't end in another loss, scoring the go-ahead run and making a key defensive play as the Yankees claimed their eighth straight victory.

The Yankees have won 22 of 24, including nine straight on the road, and extended their major league-best record to 23-6.

Knoblauch, who was frustrated by five straight losing seasons with the Twins and asked to be traded in the offseason, ignored a night-long chorus of boos from the crowd of 22,612. He came into the game hitting a disappointing .241 and was jeered every time he came to the plate or made a play in the field.

RANGERS 6, INDIANS 3: Juan Gonzalez doubled home the go-ahead run in a three-run eighth inning and the Texas Rangers snapped the Cleveland Indians' six-game winning streak.

Lee Stevens added a solo homer in the inning for the Rangers, who had dropped four straight.

MARINERS 8, BLUE JAYS 3: Ken Griffey Jr. hit his 14th homer and scored four runs and David Segui tied a team record with three doubles.

Griffey tied Colorado's Vinny Castilla for the major league lead in home runs. Russ Davis and Edgar Martinez also homered for the Mariners.

Randy Johnson (3-1) won his third straight decision and beat the Blue Jays for the sixth time in a row. Jose Canseco hit a three-run homer, his 10th, off Johnson.

ANGELS 5, TIGERS 3: Matt Walbeck hit a three-run double and Darin Erstad homered as the Anaheim Angels ended a four-game losing streak.

Allen Watson (2-3) pitched six innings for the victory, allowing three runs and six hits while striking out five.

WHITE SOX 5, ATHLETICS 3: Frank Thomas knocked the ball loose from catcher Mike Macfarlane on a collision at the plate in the eighth inning, scoring the go-ahead run.

Mike Sirotka (5-2) went the distance for the second time this season, allowing three runs and five hits. He struck out three and walked one in winning for the fifth time in six outings.