Cubs top Astros, continue to roll

Cubs 7, Astros 6

Chicago – Derrek Lee hit a three-run shot in the second inning to help the Cubs, who have won 15 of their past 19.

Mets 5, Reds 2

New York – Jose Reyes homered, and Oliver Perez won in his return from the disabled list. Adam Dunn knocked out a scoreboard panel with a long home run for Cincinnati.

Braves 5, Pirates 1

Atlanta – Buddy Carlyle pitched eight impressive innings to win his third straight decision, and surging Atlanta got four hits from Edgar Renteria, completing a three-game sweep of Pittsburgh.

Brewers 4, Rockies 3

Milwaukee – Pinch-hitter Kevin Mench’s tiebreaking RBI triple in the seventh lifted Milwaukee.

Marlins 5, Nationals 3

Miami – Miguel Cabrera hit two solo home runs, and Josh Willingham added another to help Florida defeat Washington.

Padres 4, Diamondbacks 0

Phoenix – Justin Germano drove in a run and gave up none to help San Diego avoid a three-game sweep.

Dodgers 5, Giants 3

San Francisco – Los Angeles scored twice on squeeze bunts, held Barry Bonds without a hit all series and won its 11th straight game in San Francisco.

Cardinals 10, Phillies 2

Philadelphia – The Phillies lost their 10,000th game in franchise history as Albert Pujols hit two homers in a rout.