The numbers don't lie. Sammy Sosa has officially caught Mark McGwire. To Sosa, though, McGwire can't be equaled.

Sosa hit his 45th and 46th home runs to match McGwire for the major league lead Monday night as the Chicago Cubs defeated the San Francisco Giants 8-5 in a game that had seven homers.With the winds blowing all over 3Com Park, Sosa hit a towering blast into the first row of the left-field bleachers in the fifth inning. It was the first of three consecutive solo shots by the Cubs.

Sosa's second homer cleared the center-field bleachers and was estimated at 480 feet. Although he's hit 37 homers in 66 games since May 25, Sosa thinks McGwire's still the one to watch.

"He's still my idol," Sosa said. "I still believe McGwire's the man, no matter what happens. He's the man. I still believe he's going to come back and keep rolling. I know he can do it."

McGwire struck out three times in St. Louis' loss to New York on Monday night. Since hitting his 46th homer on Saturday, he has walked seven times and struck out six in 13 plate appearances.

Sosa and McGwire each need 16 homers to surpass Maris' record of 61. The Cubs have 43 games remaining, the Cardinals 45.

With the win, the Cubs held on to their half-game lead over the Mets in the race for the NL wild-card spot. The Giants, who have lost five straight to match their worst skid of the season, fell three games behind the Cubs.

Barry Bonds hit his third homer in two games, a three-run blast, and Jeff Kent added a solo shot two pitches later for the Giants in the third inning.

Bonds' 398th homer tied him with Dale Murphy for 28th on the career list and moved him within two homers of becoming the first major leaguer with 400 homers and 400 stolen bases.

MARLINS 3, PADRES 2: Florida's Livan Hernandez pitched a five-hitter at San Diego for his seventh complete game, handing former teammate Kevin Brown his first loss since May 21.

Brown (14-4) was trying to win his 12th straight decision, which would have set the Padres' record.

METS 4, CARDINALS 2: Todd Hundley hit his first home run this season and Al Leiter (11-4) pitched seven strong innings at St. Louis.

Leiter helped silence McGwire, who struck out three times - twice against Leiter and once against Turk Wendell with a runner on in the eighth - as the Cardinals' five-game winning streak ended.

John Olerud's hitting streak stopped at 23 games, one shy of the Mets club record set by Hubie Brooks in 1984.

ASTROS 5, BREWERS 2: At Houston, Sean Berry hit a tiebreaking three-run homer in the eighth and Billy Wagner pitched a perfect ninth for his first save since being struck in the head by a line drive.

PHILLIES 3, DIAMONDBACKS 0: At Phoenix, Curt Schilling (11-11) pitched a three-hitter in his major league-leading leading 11th complete game.

Schilling struck out five and walked one as the Phillies won for just the second time in 12 games. He threw only 94 pitches in his second shutout this year.

ROCKIES 6, EXPOS 2: At Denver, Dante Bichette hit a tiebreaking grand slam in the seventh inning, and Larry Walker had a solo shot.

AMERICAN LEAGUE

ORIOLES 2, DEVIL RAYS 1: At St. Petersburg, Fla., Juan Guzman was working on a three-hitter and thought he had plenty left.

Still, he didn't argue when Baltimore manager Ray Miller replaced him with two outs in the sixth inning of a one-run game against the Tampa Bay Devil Rays.

"He's been trying to be careful with me since I'm here," the former Toronto right-hander said after a 2-1 victory Monday night kept him unbeaten since joining the Orioles in a trade.

"He knows that I had surgery last year. He took me out, and we talked right after the game. He told me, `I didn't know how many pitches you've been going, so I just wanted to be careful with you.' So next time, it's going to be different."

It turns out the Orioles got a three-hitter anyway. Alan Mills, Jesse Orosco and Armando Benitez held the Devil Rays hitless the last 3 1/3 innings.

The victory was the sixth in seven games for the Orioles, who are a major league-best 23-6 since the All-Star break. Davis has hit in 28 of 29 games during the stretch.

YANKEES 7, TWINS 3: Hideki Irabu allowed just two hits in seven innings and New York moved 56 games above .500 for the first time in 37 years.

The Yankees are 85-29 and remain on pace to break the single-season record of 116 wins by the 1906 Chicago Cubs. New York has won five straight and improved to 43-8 at home.

ANGELS 6, TIGERS 2: At Detroit, Gary DiSarcina's double triggered a four-run second inning and Omar Olivares won for the first time since June 17 as Anaheim handed the Tigers their seventh straight loss.

The victory moved Anaheim within 1 1/2 games of first-place Texas in the AL West.

WHITE SOX 5, ATHLETICS 3: Robin Ventura hit a two-run homer and Jim Parque won for the first time since June 15 as Chicago beat Oakland.

Ventura, who entered the game in a 4-for-26 slump, hit his 13th homer of the season in the sixth to give Chicago a 4-3 lead and help the host White Sox win for the fifth time in seven games.