Bonds stuck at 751 at break

Cardinals 7, Giants 0

St. Louis – Barry Bonds’ chase of Hank Aaron is now on a four-day hiatus. The All-Star break might be coming at a better time for San Francisco’s other star Barry – struggling left-hander Barry Zito.

Bonds went 0-for-3 in his final game of the first half and remained at 751 home runs, Chris Duncan drove in three runs for St. Louis, and the Cardinals avoided a three-game sweep.

Duncan’s two-run double in the fifth knocked out Zito (6-9), who ended his disappointing first half with a six-start winless stretch and four straight dropped decisions.

Pirates 6, Cubs 2

Pittsburgh – Jason Bay, slumping for more than a month, hit a two-run home run off Cubs ace Carlos Zambrano while driving in four Pittsburgh runs, and left-hander Shane Youman held Chicago to two runs over six innings.

Nationals 7, Brewers 2

Washington – Ryan Zimmerman’s two-run homer ignited a six-run rally in the sixth inning, and Washington’s Tim Redding won as a starter for the first time in almost three years. Redding (1-1) had not prevailed in a start since July 24, 2004, for Houston against Milwaukee. Redding went six innings, allowing two runs and five hits.

Reds 4, D’backs 3, 11 innings

Cincinnati – Scott Hatteberg’s two-out single in the 11th inning – his fourth hit of the game – helped Cincinnati complete its first sweep of the season and its first over Arizona since 1999. For the second day in a row, one of the NL’s worst bullpens blew a late lead before the Reds recovered and pulled it out.

Astros 8, Mets 3

Houston – Roy Oswalt tossed seven effective innings.

Phillies 8, Rockies 4

Denver – Shane Victorino hit a two-run homer.

Dodgers 9, Marlins 3

Los Angeles – Russell Martin hit a two-run homer, and Andre Ethier added a three-run shot.

Braves 5, Padres 4

San Diego – All-Star Brian McCann homered and drove in four runs.