MILWAUKEE - Sammy Sosa hit his 33rd home run and Juan Cruz outdueled Ben Sheets as the Chicago Cubs defeated the Brewers in a tense matchup 4-2 Friday night.
Chicago won its fifth in a row at Miller Park.
Cruz allowed two runs and six hits in a career-high 62/3 innings. Keith Ginter's run-scoring double chased him and made it 3-2.
Antonio Alfonseca, appealing a seven-game suspension imposed earlier in the day, relieved and walked Brady Clark. Alfonseca struck out Richie Sexson to end the threat.
Joe Borowski pitched the ninth for his 25th save in 29 chances.
In the second inning the Brewers' Bill Hall came to the plate. But the seventh spot in the lineup was due up - and Hall was hitting eighth.
After Hall took ball one, manager Ned Yost called him back and sent up Keith Osik, the scheduled hitter.
Though odd, it was not illegal. Batting out of order can be called only after the incorrect hitter's turn at bat is completed.
Osik struck out and Hall popped out.
REDS 4, CARDINALS 2 (12): Wily Mo Pena tripled home the tiebreaking run to cap his first three-hit game as visiting Cincinnati rallied past reeling St. Louis.
St. Louis, which wasted a 2-1 lead in the ninth, has lost five of six. Cardinals star Jim Edmonds missed his third straight start because of a bruised right knee, and slumping Edgar Renteria had the night off. Albert Pujols hit a two-run homer for the Cardinals.
The Cardinals' Jason Isringhausen blew a save for the second time in 19 chances.
Cincinnati overcame an outstanding start by Sterling Hitchcock, who has an 0.95 ERA in 19 innings since St. Louis acquired him from the Yankees on Aug. 22. He struck out eight and walked one in seven innings.
BRAVES 3-3, PIRATES 2-5: Craig Wilson hit a three-run homer and Mark Corey struck out Chipper Jones with the bases loaded in the sixth as visiting Pittsburgh won Game 2 to split a doubleheader.
In the opener, Jones homered off Corey with one out in the 10th inning, giving the Braves a come-from-behind victory.
Wilson's home run off Shane Reynolds capped a four-run first for the Pirates in the second game, and they hung on to stop a three-game losing streak. Reggie Sanders, who hit a go-ahead homer in first game, added a run-scoring double in the first.
Corey preserved the victory in the sixth, coming in with no outs and the bases loaded, with Pittsburgh leading 4-2.
Pinch-hitter Javy Lopez lined out to shortstop for the first out, and Rafael Furcal drove in Darren Bragg with a fielder's choice, making it 4-3. Corey walked Marcus Giles to bring Jones to the plate.
After a 75 mph pitch broke over for strike two, Corey struck out Jones with a high fastball, ending the threat.
Corey went three innings and struck out three, and Julian Tavarez pitched the ninth for his fifth save in seven chances.
Pinch-hitter Jeff Reboulet homered in the ninth to make it 5-3. Atlanta loaded the bases again in the ninth, but Tavarez got Matt Franco to hit into a double play, then retired Johnny Estrada on a grounder to first.
In the second game, Atlanta manager Bobby Cox sat several of his regulars, including Gary Sheffield. September callup Ryan Langerhans got the first start of his career in place of Sheffield in right, and Lopez, centerfielder Andruw Jones and third baseman Vinny Castilla got the night off.
PHILLIES 1, METS 0: Vicente Padilla kept up his mastery over New York, striking out a season-high 10 in eight innings for host Philadelphia.
Marlon Byrd drove in the only run in the eighth inning with a single just off the outstreched glove of shortstop Jorge Velandia, scoring Nick Punto.
Rheal Cormier got three outs for his first save with the Phillies.
Padilla improved to 8-1 against the Mets.
EXPOS 6, MARLINS 2: Todd Zeile hit two home runs and Montreal opened its final homestand in Puerto Rico by winning a game delayed by a power outage.
Zeile became the first player in major-league history to homer for 11 teams. His shots helped drop Florida one game behind Philadelphia in the wild-card race, while Montreal remained 51/2 back.
Montreal reliever Rocky Biddle allowed a leadoff homer in the ninth to Derrek Lee and walked Miguel Cabrera. Luis Ayala replaced Biddle and closed.
The game was delayed 1 hour, 12 minutes in the bottom of the fourth. The island's electric authority spokesperson, Ada Torres Toro, said there was a problem with the stadium's electric system.
DODGERS 8, ROCKIES 7: Adrian Beltre went 4-for-5, homered twice and drove in three runs for visiting Los Angeles.
Eric Gagne pitched the ninth for his 48th consecutive save this season and 56th straight, both major-league records.
The Dodgers rebounded from 6-1 and 7-2 deficits and sent Colorado to its sixth straight loss.
Los Angeles began a stretch of 24 games in 24 days.