Pittsburg Zach Duke struck out seven in his second complete game of the season, Nate McLouth drove in three runs with a home run and triple, and the Pittsburgh Pirates beat the St. Louis Cardinals, 7-1, Friday night to end a five-game losing streak.
Duke (8-10), winless in three starts since July 19, outpitched Jeff Suppan (9-7), who had won three of four with a 1.95 earned-run average since the All-Star break. The left-handed Duke gave up a run in the first on Albert Pujols' double and Juan Encarnacion's two-out single, then limited the slumping Cardinals to six hits after that.
With third baseman Scott Rolen sitting out with back spasms - he is hitting .478 against the Pirates this season - the Cardinals dropped their third in five games on their current road trip and their 11th in their last 15. They had been 7-2 against the Pirates this season and 19-6 over the last two seasons.
Nationals 2, Mets 1
Washington - Billy Traber outdueled Tom Glavine and Brian Schneider hit a two-run double for Washington. Traber (2-1) pitched into the eighth inning, allowing one run and four hits with no walks, to earn his eighth career major league win. That's 279 fewer than Glavine (12-5).
Astros 4, Padres 2
Houston - Andy Pettitte hit his first career homer and matched a season high with 10 strikeouts. Pettitte (11-12) hit a solo homer in the fourth inning off Chan Ho Park and allowed two runs and three hits in seven innings to earn his second win in three starts.
Phillies 6, Reds 5, 14 innings
Philadelphia - Aaron Rowand's RBI single with one out in the 14th inning lifted Philadelphia over Cincinnati. The Phillies overcame deficits in the eighth and ninth innings to win for the seventh time in 10 games.
Marlins 4, Diamondbacks 1
Phoenix - Florida rookie Josh Johnson allowed two hits in seven shutout innings, and Miguel Cabrera hit a two-run double to help the Marlins spoil Livan Hernandez's first start with Arizona.
Rockies 10, Cubs 2
Denver - Garrett Atkins hit a three-run homer, Ryan Spilborghs had three RBIs in his return to the majors, and Colorado gave Aaron Cook some rare run support.
Braves 2, Brewers 1
Atlanta - John Smoltz pitched a five-hitter and gained the win when Jeff Francoeur hit an RBI double in the bottom of the ninth. Smoltz (10-5) won his sixth straight decision.
Dodgers 3, Giants 2
Los Angeles - Mark Hendrickson pitched seven strong innings, Julio Lugo provided the go-ahead run with a sacrifice fly in the eighth, and Los Angeles beat San Francisco.