ST. LOUIS (AP) — All Carlos Zambrano needed to end a bad month was a start against St. Louis.
He entered Saturday's game with a 1-2 record and a 6.91 ERA, but continued his mastery of St. Louis, pitching seven innings of one-run ball to help the Chicago Cubs win 8-1.
Zambrano (2-2) is unbeaten against the Cardinals in his last eight starts, going 5-0 with a 1.54 ERA (58 2-3 innings) over that stretch. He ended a three-game winless streak by allowing one run and seven hits with two strikeouts.
Zambrano had plenty of help from his teammates. Jacque Jones went 3-for-4 and hit a bases-loaded triple as part of a seven-run fifth inning, while Derrek Lee continued his hot start for the Cubs, going 2-for-4 with an RBI.
BRAVES 6, ROCKIES 2: At Denver, John Smoltz continued his dominance of Colorado and Chipper Jones drove in two runs for Atlanta.
Smoltz (3-1) allowed two runs, nine hits, and struck out eight in seven innings to improve to 11-4 with nine saves and a 3.43 ERA in his career against the Rockies.
METS 6, NATIONALS 2: At Washington, Carlos Beltran and David Wright drove a four run 12th inning for the Mets.
Beltran's double down the first-base line off Ryan Wagner snapped a 2-2 tie, and Wright's single to left tacked on two more runs.
MARLINS 11, PHILLIES 5: At Philadelphia, Miguel Cabrera had a career-best five hits for Florida and Dontrelle Willis won despite struggling through 6 1-3 innings.
Cabrera had four singles and his seventh homer of the year. Josh Willingham added a three-run home run for the Marlins.
REDS 8, PIRATES 1: At Pittsburgh, Matt Belisle didn't allow a baserunner until the sixth inning and finished with a five-hitter for his first complete game and Cincinnati ended Pittsburgh's five-game winning streak.
Belisle (3-1) retired the Pirates' first 16 batters until Ronny Paulino doubled into the right-center gap with Cincinnati up 5-0 in the sixth. The right-hander struck out five and walked none.
ASTROS 10, BREWERS 1: At Houston, Craig Biggio had three RBIs and Houston snapped a seven-game losing streak.
Lance Berkman, Mark Loretta and Adam Everett each had two RBIs and the Astros shook out of an offensive slump with their highest run total of the season.
PADRES 3, DODGERS 2: At San Diego, Trevor Hoffman rebounded from two straight blown save opportunities to close the door on Los Angeles, sealing the win for Greg Maddux and San Diego.
After blowing save chances in consecutive appearances for the first time in 10 years, Hoffman pitched a perfect ninth for his fifth save.
DIAMONDBACKS 5, GIANTS 4: Barry Bonds hit his 742nd career home run for San Francisco. Scott Hairston hit his 14th, and it lifted Arizona to the win with the three-run blast in the seventh.
Hairston, a pinch-hitter, hit reliever Vinnie Chulk's first pitch 418 feet into the left-field seats with two runners on to give the Diamondbacks a 5-4 lead in the seventh inning.
American League
ORIOLES 7, INDIANS 4: At Cleveland, a bizarre set of circumstances in Baltimore's 7-4 victory over Cleveland on Saturday night led to a run that was waved off in the third inning added to the Orioles' total three innings later.
Baltimore was leading 2-1 in the top of the third with Nick Markakis on third base and Miguel Tejada on first and one out. Ramon Hernandez then hit a line drive to center field and Grady Sizemore made a diving catch. Markakis tagged up and headed for home. Tejada was around second when the ball was caught and was thrown out trying to get back to first.
It appeared Markakis crossed the plate well before Tejada was called out at first, but plate umpire Marvin Hudson waved off the run. That call was reversed in the sixth, however, and the Indians immediately said they were playing under protest.
TWINS 11, TIGERS 3: At Detroit, Justin Morneau homered and Minnesota roughed up Justin Verlander and Detroit.
Morneau had three hits and scored three times for the Twins, who had 17 hits and reached base 23 times against five Tigers pitchers. Every player in their lineup had at least one hit, and six had at least two.
RANGERS 9, BLUE JAYS 8: At Toronto, Hank Blalock atoned for an earlier error with a sacrifice fly in the 10th inning to lift Texas to the win.
Michael Young hit a one-out double in the 10th and stole third. After two walks loaded the bases, Blalock flied out to the warning track in center to drive in Young.
YANKEES 3, RED SOX 1: At New York, banished to the bullpen, Kei Igawa saved the struggling Yankees when they desperately needed him.
Igawa (2-1) shut out Boston for six-plus innings after replacing injured starter Jeff Karstens in the first, and New York snapped a seven-game losing streak.
ATHLETICS 12, DEVIL RAYS 5: At Oakland, Travis Buck hit a three-run homer in Oakland's six-run first and Eric Chavez had a three-run drive in the seventh.
Dan Haren (3-2) struck out a season-high seven and allowed two earned runs in 7 1-3 innings to win his third straight start.
ANGELS 3, WHITE SOX 0: At Chicago, Jered Weaver pitched 5 2-3 innings for his first win of the season and Gary Matthews Jr. led off the game with a home run for the Angels.
Francisco Rodriguez getting three outs for his seventh save in eight opportunities.
White Sox starter Jon Garland (1-1) pitched seven innings and allowed three runs and five hits.
ROYALS 8, MARINERS 3: Gil Meche pitched six innings in his return to Seattle, and Kansas City ended the Mariners' five-game winning streak. Jeff Weaver (0-4) surrendered five consecutive hits to start the game and didn't make it out of the first inning.