Pirates 5-1, Braves 0-8
Pittsburgh - Tim Hudson limited Pittsburgh to two hits and an unearned run over seven innings, and Atlanta halted its seven-game road losing slide with an 8-1 victory that concluded Monday's doubleheader.
In the opener, Freddy Sanchez hit a three-run double and Zach Duke pitched six shutout innings as the Pirates won, 5-0, for their sixth consecutive win.
Reds 8, Marlins 7
Cincinnati - Jeff Keppinger and Brandon Phillips hit two-run homers in the seventh inning.
Nationals 10, Mets 4
New York - Making his ninth start without a victory, Odalis Perez had three hits and two RBIs and pitched into the seventh inning to lead Washington.
Cubs 12, Padres 3
Chicago - Carlos Zambrano won his fifth straight decision, and Alfonso Soriano homered in a six-run fifth inning as the Cubs won their fourth straight.
Brewers 8, Cardinals 3
Milwaukee - Ryan Braun hit two home runs for the second game in a row, and Cardinals catcher Yadier Molina and manager Tony La Russa both were ejected from the Brewers' victory.
Astros 7, Giants 3
San Francisco - Hunter Pence hit a go-ahead sacrifice fly in the seventh, Lance Berkman had a tying two-run homer off Barry Zito, and the surging Astros won their fourth straight.