The Mark McGwire-Sammy Sosa home run derby stalled, while Kent Bottenfield took the spotlight. The burly ex-Cubs reliever showed why he's become one of the St. Louis Cardinals' top starters and one of the major leagues' top winners.

"If he keeps doing what he's doing, he'll probably win 20 every year," Sosa said after Bottenfield won his 18th game in the Cardinals' 7-2 victory at Wrigley Field in Chicago. Bottenfield (18-7) allowed just one hit in six innings.

"When he was here, he didn't have the experience he has now, that confidence," Sosa said. "He went to St. Louis and has become a great pitcher. When something happens in your career, you change, too. You try to show the other team that you can do it. Like when I was traded here from the White Sox."

While McGwire and Sosa couldn't connect, the Cardinals' Fernando Tatis and Edgar Renteria's did go deep. So did Chicago's Shane Andrews, whose homer was the only hit allowed by Bottenfield.

MARLINS 5-4, EXPOS 3-0: There were fewer than 100 fans in the ballpark for the start of the doubleheader between Florida and Montreal in Miami, and only about 500 when the Marlins' Derrek Lee and Mark Kotsay hit run-scoring singles in the eighth inning to lead Florida to a win in the opener of a doubleheader sweep.

Florida won the second game as former-Expo Reid Cornelius (1-0) struck out six in six innings and got his first win for the Marlins. Rookie Julio Ramirez drove in his first two runs in the majors, Kevin Millar had an RBI triple and Preston Wilson drove in a run.

Southeast Florida was under a weather warning due to Tropical Storm Harvey, but there was no rain. The wind was 25 mph when the doubleheader began. The stands were so quiet individual conversations could be heard. The announced attendance was 8,468.

"I heard a phone ring one time," winning pitcher Dennis Springer said.

ASTROS 6, PIRATES 3: In Pittsburgh, Paul Bako's apparent double-play grounder turned into a two-run double during Houston's four-run seventh inning and the Astros finally solved rookie Kris Benson. Houston was 0-4 in Pittsburgh and had lost six of its last seven to the Pirates, who fell two games under .500 as they pursue their first winning season since 1992.

DIAMONDBACKS 7, ROCKIES 6: Day by day, Arizona's magic number keeps getting lower.

"At this time of the year a win is a win, and it doesn't matter how you get one," Steve Finley said after Curtis Leskanic walked him with the bases loaded in the ninth inning, forcing in the go-ahead run in Arizona's win over Colorado in Denver. Arizona, in just its second season, lowered its magic number for clinching the NL West to three.

BREWERS 8, PHILLIES 6: Jeff Cirillo hit a three-run homer and added an RBI single to lead host Milwaukee over Philadelphia. Bob Wickman pitched the ninth for his 35th save in 43 opportunities.

PADRES 6, REDS 2: Reggie Sanders got back at his old team, hitting a three-run triple in the seventh and scoring on an error as San Diego beat visiting Cincinnati and cost the Reds a game in the NL Central race.

DODGERS 9, GIANTS 4: Hot-hitting Eric Karros hit a three-run homer, and Jeff Williams earned his first big league victory as host Los Angeles beat reeling San Francisco. The loss was the fourth straight for the Giants, who dropped nine games behind first-place Arizona in the NL West with 11 games remaining.