Cubs protect one-game lead

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.