Mark McGwire hit his 41st and 42nd homers to set a major league record for most home runs by the end of July as the St. Louis Cardinals beat the Los Angeles Dodgers 4-1 Friday night.

McGwire hit a 511-foot homer into the upper deck off Brian Bohanon (2-6) in the first inning and added another solo shot in the eighth off Antonio Osuna to break the July mark held by Babe Ruth and Jimmie Foxx.The homer off Bohanon was the fourth-longest since they started measuring them at Busch Stadium in 1988. McGwire also hit the other three, including the record 545-foot shot against Florida on May 16.

CUBS 6, MARLINS 1: At Miami, Sammy Sosa hit his 36th homer and Steve Trachsel pitched a five-hitter as the Chicago Cubs beat the Florida Marlins.

Sosa's two-run homer, a 440-foot shot to center in the sixth off Kirt Ojala, was his first since July 10. In June, Sosa set a major league record for homers in a month with 20.

PIRATES 5, EXPOS 1: At Montreal, in a wild game that featured three bench-clearing incidents and three ejections, the Pittsburgh Pirates snapped the Montreal Expos' three-game winning streak.

Montreal pitcher Javier Vazquez, Pittsburgh third baseman Aramis Ramirez were ejected in the sixth, and Pirates hitting coach Lloyd McClendon was thrown out in the fifth.

PADRES 13, REDS 3: At Cincinnati, Greg Vaughn and Tony Gwynn each homered twice and Ruben Rivera had his first career grand slam as San Diego ended Cincinnati's 10-game winning streak. Steve Finley also homered as the NL West leaders scored 12 runs off a club-record six homers.

METS 6, PHILLIES 0: At New York, Hideo Nomo won for the first time in seven starts since joining the Mets, allowing only three hits in seven innings.

Brian McRae went 3-for-4 with a homer, three RBIs and two runs scored.

BRAVES 4, BREWERS 1: At Atlanta, Tom Glavine pitched seven strong innings and joined Atlanta teammate Greg Maddux as the NL's only 13-game winners. The Braves, who leads the league with 131 home runs, got solo shots from Chipper Jones, Andruw Jones and Danny Bautista.

ASTROS 10, GIANTS 7: At Houston, Jose Lima won for the first time since June 6 and Derek Bell had a two-run single in a five-run fourth inning as the Houston Astros beat the San Francisco Giants.

DIAMONDBACKS 9, ROCKIES 6: At Phoenix, Travis Lee had three hits and Devon White hit a three-run homer in Arizona's 12-hit attack.

AMERICAN LEAGUE

BLUE JAYS 9, YANKEES 6: At Toronto, Shawn Green hit two homers, including a grand slam, and Roger Clemens pitched seven strong innings.

Green went 3-for-5 with a career-high five RBIs. His homer in the fourth tied the game at one, and his grand slam in the seventh gave the Blue Jays a 6-1 lead.

The Yankees, who lost their second straight for the first time since June 15-16 - a span of 26 games - remained tied with the 1902 Pittsburgh Pirates for the best record in major league history after 90 games (67-23).

TIGERS 6, RED SOX 4: At Detroit, Gabe Alvarez homered and drove in four runs to help fellow rookie Brian Powell get his first major league win as Detroit beat Boston.

Alvarez was just 1-for-21 since the All-Star break before he hit an RBI single in the fourth and a three-run homer in the sixth.

WHITE SOX 4, INDIANS 3: At Chicago, Albert Belle hit his 300th homer - his 10th in 10 games since the All-Star break - and Robin Ventura homered leading off the bottom of the ninth to give Chicago the victory.

RANGERS 7, DEVIL RAYS 4: At Arlington, Texas, Will Clark hit a three-run homer and drove in a season-high four runs as the Texas Rangers rallied to stop a five-game losing streak.

MARINERS 18, ROYALS 5: At Seattle, the Mariners got a season-high 22 hits, including homers by Alex Rodriguez, Dan Wilson and Jay Buhner, for their fifth straight victory.

ORIOLES 4, ANGELS 1: At Anaheim, Calif., Rafael Palmeiro hit his 300th career home run, went 3-for-3 and drove in all of Baltimore's runs as the Orioles won their season-high ninth straight game, over the Anaheim Angels. Baltimore's victory streak is its longest since winning 10 straight from June 2-12, 1993. The Orioles haven't lost since the All-Star break, sweeping three series.

TWINS 8, ATHLETICS 7: At Oakland, Calif., Todd Walker singled home the go-ahead run in the ninth inning as the Minnesota Twins overcame a five-run deficit to defeat the Oakland Athletics. The Twins trailed 6-1 after six innings before rallying against starter Jimmy Haynes and five relievers.