Marlins 4, Cubs 2: At Miami, Chicago managed only two hits in eight innings against Dontrelle Willis and lost to Florida. Willis struck out seven to set a franchise record for career strikeouts with 755.
Braves 10, Phillies 6: At Philadelphia, Mark Teixeira hit a three-run homer and Chipper Jones had a two-run shot, helping Atlanta beat the Phillies.
Pirates 6, Diamondbacks 5: At Pittsburgh, pinch-hitter Josh Phelps singled in the go-ahead run with two outs in the eighth after the Pirates blew a four-run lead in the top of the inning, and Pittsburgh beat Arizona.
Astros 8, Reds 5: At Cincinnati, Hunter Pence homered and Houston, aided by two Reds errors, rallied from a four-run deficit to beat Cincinnati.
Brewers 9, Cardinals 1: At Milwaukee, Prince Fielder became the youngest major league player to hit 50 home runs in a season, connecting twice in the Brewers’ victory over St. Louis.
Nationals 10, Mets 9: At New York, after trailing 10-3 in the ninth inning an improbable rally fell just short when Paul Lo Duca flied out with a runner on third, and Washington defeated the Mets.
Padres 6, Giants 4: At San Francisco, Brian Giles hit a go-ahead three-run homer with two outs in the ninth, and San Diego beat the Giants.
Rockies 9, Dodgers 7: At Los Angeles, Troy Tulowitzki homered to drive in the tying and go-ahead runs, and Colorado beat the Dodgers.