Chris Carpenter pitched a complete game to become the first 17-game winner in Major League Baseball, and Albert Pujols hit a two-run homer Saturday in the St. Louis Cardinals' 5-2 victory over the Chicago Cubs.
Carpenter (17-4) threw an eight-hitter for his major league-leading sixth complete game, striking out eight and walking none to trim his ERA to 2.25. Jon Garland of the Chicago White Sox had 16 wins going into his start Saturday against Boston.
"He pitched nine innings against a tough offensive club -- that's dominating," Cardinals manager Tony La Russa said.
Carpenter gave up six hits in the first three innings, but quickly settled down to win his ninth straight decision. He retired 13 of 14 hitters between the third and seventh.
"I just try to continue to go out and give my team a chance to win," Carpenter said. "With the defense and offense we have playing behind me, you're going to win a lot of ballgames."
Braves 9, Diamondbacks 5
In Atlanta, Chipper Jones had three hits, including a go-ahead double in the seventh inning, and Julio Franco drove in a season-high four runs to lead Atlanta past Arizona.
Only 10 days shy of his 47th birthday, Franco hit a three-run homer to help the Braves avoid their first three-game home losing streak this year.
Pinch-hitter Ryan Langerhans opened the seventh with a double off reliever Lance Cormier (7-3). Rafael Furcal walked, and both runners scored on Jones' double to center, breaking a 5-5 tie.
Mets 5, Dodgers 1
In Los Angeles, Seo Jae pitched eight sharp innings and New York got consecutive home runs from backup catcher Ramon Castro and emergency center fielder Gerald Williams in a victory over Los Angeles.
Williams made his second straight start in place of Carlos Beltran, who was back at the team's hotel two days after his violent, head-to-head collision with right fielder Mike Cameron in San Diego. Cameron was at Scripps Clinic in La Jolla, California, recovering from successful surgery Friday night to repair a broken nose and two fractured cheekbones.
Seo (4-1) allowed five hits and struck out six, lowering his ERA to 1.35 in five starts with New York this season. The right-hander's streak of 20 2-3 consecutive scoreless innings -- the longest by any Mets pitcher this year -- ended when Olmedo Saenz hit an RBI double in the seventh.
Pirates 1, Astros 0
At Houston, Roger Clemens was foiled again by a lack of run support, and Jack Wilson homered off Brad Lidge in the ninth inning to give Pittsburgh a victory over Houston.
Clemens allowed two hits in eight shutout innings, lowering his major league-leading ERA to an incredible 1.32. He struck out nine and walked none, but the Astros couldn't muster any offense against Kip Wells and two relievers.
It was the ninth no-decision for the 43-year-old Clemens, and the sixth time the Astros have failed to score for him. He threw an economical 88 pitches but has not gone longer than eight innings this season.
Salomon Torres (3-4) worked a scoreless eighth, and Jose Mesa struck out two in a perfect ninth for his 27th save in 30 chances.
Wilson homered to left leading off the ninth against Lidge (3-3), his seventh.
Phillies 5, Padres 2
At San Diego, Ryan Howard's go-ahead RBI single was the third straight Philadelphia hit off Trevor Hoffman opening the ninth inning as the Phillies beat San Diego.