PITTSBURGH - Craig Wilson hit a winning home run in the 10th inning Friday night to give the Pirates a 5-4 victory and doubleheader sweep of the Chicago Cubs.
In the first game, Rob Mackowiak hit his first career grand slam with two outs in the ninth, giving the Pirates a 9-5 win.
Mackowiak, who became a father for the first time earlier in the day, also hit a two-run homer in the ninth inning of the nightcap to tie it at 4. He entered as a defensive replacement for centerfielder Ruben Mateo in the seventh and hit the first pitch he saw from LaTroy Hawkins in the ninth to tie it at 4.
Wilson's homer off Francis Beltran, his 11th of the season, gave the Pirates their first doubleheader sweep since June 18, 2003, against Montreal.
Mike Gonzalez pitched a perfect 10th inning for the Pirates, who are 22-22, the latest in a season they've been at .500 since September 1999.
Beltran threw one pitch and took the loss. He had allowed one run over his previous 91/3 innings.
Corey Patterson hit a two-run homer and Jose Macias drove in two in the nightcap for the Cubs, who have lost four straight and six of their past eight.
CARDINALS 2, ASTROS 1 (10): Ray Lankford scored on Octavio Dotel's balk in the 10th inning, and visiting St. Louis thwarted Houston's rally.
A pitching duel between the Astros' Roger Clemens and Cardinals' Chris Carpenter was overshadowed by the game's wacky and thrilling ending.
Dotel walked Lankford to start the 10th, and Scott Rolen singled to send Lankford to third. With Jim Edmonds at the plate, Dotel feigned a throw toward the plate, and third-base umpire Hunter Wendelstedt ruled it a balk, allowing Lankford to score.
Houston manager Jimy Williams protested to no avail as Dotel raised both arms in confusion.
Jason Isringhausen gave up three hits, including Lance Berkman's run-scoring double in the ninth, in two innings and got the win.
REDS 7, EXPOS 6: Ken Griffey hit his 493rd homer, Sean Casey had four hits and three RBIs and visiting Cincinnati held on.
Griffey hit a two-run shot off Claudio Vargas after Casey's run-scoring double in the fifth to tie Yankees first baseman Lou Gehrig for 20th on the all-time home run list.
The homer capped Cincinnati's second three-run outburst and increased its lead to 6-2.
Casey had three extra-base hits, including a double in the first and a two-run homer in the third, his seventh of the season. He singled off Jeremy Fikac in the sixth and finished 4-for-5.
Former Devil Ray Cory Lidle allowed five hits and five runs in 62/3 innings. He pitched his league-leading third complete game in his previous outing, a six-hitter for his third career shutout in a 7-0 win over Houston on Sunday.
MARLINS 2, METS 1: Dontrelle Willis allowed four hits and one run in seven innings, winning for the second time in his past six starts and lifting host Florida.
Luis Castillo had three hits, scored a run and drove in another for the Marlins, who beat New York for the ninth time in their past 11 meetings dating to last season.
Willis beat the Mets for the fourth time in as many starts against them. He has allowed two runs in 28 innings in those matchups.
Todd Zeile hit his third homer for the Mets, who lost for the fifth time in their past 14 games.
Armando Benitez, facing his former team for the first time since it traded him to the Yankees in July, pitched a perfect ninth for his 19th save in 20 chances.
PHILLIES 3, BRAVES 2 (10): Tomas Perez tied it with a double in the eighth and won it with a homer in the 10th to lead host Philadelphia.
Perez, starting in place of injured slugger Jim Thome, slammed a 2-and-1 fastball off Antonio Alfonseca into the seats in right-center for his fourth homer of the season.
PADRES 5, BREWERS 3: Mark Loretta hit a go-ahead single in the seventh and Brian Lawrence tied a career high with 10 strikeouts in seven solid innings for visiting San Diego. Pinch-hitter Sean Burroughs hit his first homer of the season, and Jay Payton drove in two for the Padres. Lawrence allowed two runs, one earned and four hits.
GIANTS 4, ROCKIES 2: Barry Bonds hit a two-run homer in the ninth to cap a four-run rally for host San Francisco, which won its seventh in a row.
D'BACKS 6, DODGERS 3: Randy Johnson pitched into the seventh inning and Luis Gonzalez hit a two-run homer for visiting Arizona.