Cubs 4, Cardinals 2
St. Louis - Matt Murton hit a three-run homer, and Jason Marquis allowed his former team just one run while pitching into the seventh inning to lead the Cubs past his former team.
Geovany Soto had a career-high four hits for the Cubs, who took three of four games in the series and maintained their one-game lead over Milwaukee in the NL Central.
Braves 3, Nationals 0
Washington - Tim Hudson held Washington to seven hits in a complete game, the first by an Atlanta pitcher this season, and the Braves kept their flickering playoff hopes alive.
Hudson (16-8) broke a three-game losing streak.
Padres 5, Giants 1
San Diego - Jake Peavy lowered his major-league-leading ERA to 2.39, struck out 10 to take over the big-league lead and pitched the Padres to another important victory.
Diamondbacks 6, Dodgers 1
Los Angeles - Edgar Gonzalez won his seventh straight decision, Chris Snyder hit a three-run homer, and the Diamondbacks salvaged the finale of a three-game series.