WASHINGTON (AP) -- Elijah Dukes drove in three runs, Ryan Zimmerman had three hits and the surprising Washington Nationals won their eighth straight with a 9-2 victory over the Arizona Diamondbacks on Sunday.
The Nationals' eight-game run is the second longest in their five seasons in the nation's capital. They won 10 straight from June 2-12, 2005.
J.D. Martin (1-2) became the fifth Nationals pitcher to record their first win as a starter -- and the second in two games. On a sultry afternoon, with temperatures in the low 90s, Martin allowed one run and five hits in five innings. He walked one and struck out one.
Martin's only mistake came three pitches in, when Trent Oeltjen led off the game with a homer. It was Oeltjen's second home run in four major league games.
Marlins 12, Phillies 3
PHILADELPHIA (AP) -- Josh Johnson pitched six impressive innings, helping the Marlins complete a three-game sweep over the Phillies.
The Marlins moved within four games of the NL East-leading Phillies with their first sweep in Philadelphia since April 2004. The Phillies fell to 3-8 since acquiring reigning AL Cy Young Award winner Cliff Lee in a blockbuster deal with Cleveland on July 29.
Johnson (11-2) allowed one run and four hits, striking out six. The All-Star right-hander is 18-3 since having Tommy John surgery in August 2007.
Jamie Moyer (10-9) gave up three runs and 11 hits in five-plus innings, failing to strengthen his case to stay in Philadelphia's crowded rotation.
Astros 2, Brewers 0
HOUSTON (AP) -- Wandy Rodriguez pitched seven shutout innings and Geoff Blum hit a two-run homer in the Astros' win over the Brewers.
Rodriguez (11-6) allowed five hits and struck out three in his first start since leaving his outing eight days ago with a strained right hamstring. The left-hander won his sixth straight decision and gave up one earned run or fewer for the seventh consecutive appearance.
Jose Valverde got the final four outs for Houston to earn his 15th save of the season and second of the series.
Blum hit his fifth homer since the All-Star break in the fourth inning off Yovani Gallardo (10-9) after Carlos Lee walked. Gallardo allowed six hits and struck out four in seven innings.
Cardinals 7, Pirates 3
PITTSBURGH (AP) -- Skip Schumaker's first career pinch-hit home run started a five-run eighth-inning rally for St. Louis that included Pirates pitcher Matt Capps' ejection for hitting Albert Pujols, and the Cardinals finished off a three-game sweep.
The Pirates lost a 3-2 lead in the eighth while dropping their eighth in a row, all at home. They are two losses away from their longest home losing streak since PNC Park opened in 2001, a 10-game run in 2005.
Joel Pineiro (10-9) fell behind 3-0 as Steve Pearce hit a two-run homer, but stayed in to pitch seven innings and improve to 4-0 in his last seven starts.
Reds 5, Giants 2
SAN FRANCISCO (AP) -- Aaron Harang ended the worst winless stretch of his career with his first victory since late May, Brandon Phillips and Adam Rosales each homered and the Reds beat the Giants.
The lowly Reds -- led by former San Francisco skipper Dusty Baker -- had to feel pretty good about themselves after taking this series, in which they won both games started by Giants All-Stars Matt Cain and Tim Lincecum. Cincinnati won its first series since June 30-July 2 against Arizona.
The Giants, who had won six straight home series, fell into a tie with Colorado for the NL wild card lead after the Rockies beat the Chicago Cubs 11-5 at Coors Field.
Rockies 11, Cubs 5
DENVER (AP) -- Todd Helton had three hits to extended his hitting streak to 14 games, Dexter Fowler scored three times and the Rockies beat the Cubs.
Carlos Gonzalez also had three hits for Colorado, which had 14 hits.
Milton Bradley went 4-for-5 and Koyie Hill had three hits for the Cubs, who had a season-high 17 hits despite playing most of the game without manager Lou Piniella.
Piniella was ejected for the second time this season after a heated argument with second base umpire Chris Guccione over his call in a disputed second-inning double-play. Piniella argued that second baseman Clint Barmes wasn't on the bag on the relay throw from third, which would have allowed Jeff Baker to score.
Mets 5, Padres 1
SAN DIEGO (AP) -- Johan Santana threw eight strong innings and tied his career high with two hits and an RBI as the New York Mets avoided a four-game sweep with a win over the Padres.
Santana (13-8) tied for the major league lead in wins as he held the Padres to one run on five hits as New York won for only the third time in 11 games.
Santana helped himself with the bat as he singled twice, drove in one run, scored a run and had one walk. Santana was hitting .114 (four for 35) with three RBIs coming into the game.
The win snapped the Mets' eight-game losing streak at Petco Park and was just their third win against San Diego in 15 games.
Braves 8, Dodgers 2
LOS ANGELES (AP) -- Javier Vazquez won his fifth straight decision with eight solid innings and the Braves beat the Dodgers to take three of the four games in their weekend series.
Vazquez (10-7) reached double digits in wins for the 10th consecutive season, handing the NL West-leading Dodgers their 10th loss in 15 games. The Braves have won five of their last six, and are four games over .500 (58-54) for the first time since they were 5-1 on April 12.
Vazquez allowed a run and five hits, struck out seven and walked two. The right-hander has a 2.49 ERA over his last six outings and has pitched at least seven innings in each of them.