Cubs cool Astros

? First baseman Derrek Lee helped the Chicago Cubs play spoiler – for one day, at least – going 3-for-3 and making a spectacular defensive play that preserved a 5-4 victory over the NL-wild-card-leading Houston Astros.

Nomar Garciaparra drove in a pair of runs for the Cubs, who handed the Astros only their second loss in the last 10 games.

The Astros are a game ahead of Philadelphia and four in front of Florida in the wild-card race. The Phillies beat Cincinnati, 11-10, while the Marlins lost to Atlanta, 4-3.

Trailing 5-1 after four innings, the Astros rallied, thanks to Craig Biggio and a defensive gaffe by Corey Patterson.

Biggio, who hit a solo homer in the third inning, got things started with an RBI double down the left-field line in the fifth. Lance Berkman hit an RBI single one out later and advanced to second on a single by Jason Lane.

Chris Burke then hit what looked like a playable pop to shallow center field. Patterson sprinted in to get the ball, but it hit his mitt and fell to the ground for an error, allowing Berkman to score to pull the Astros within 5-4.

Phillies 11, Reds 10

Cincinnati – David Bell completed Philadelphia’s comeback, hitting a two-out, two-run homer in the ninth inning.

Braves 4, Marlins 3

Atlanta – Josh Beckett extended his scoreless streak against Atlanta to 19 innings this season, leaving after the seventh with a 3-0 lead. The Florida bullpen couldn’t hold it.

Padres 5, Diamondbacks 3

Phoenix – Khalil Greene homered and drove in three runs, and San Diego beat Arizona.

Brewers 9, Cardinals 6

Milwaukee – Bill Hall had four hits, and Lyle Overbay hit a tiebreaking double as Milwaukee overcame a four-run deficit and sent Chris Carpenter to his first loss in more than three months.

Giants 7, Rockies 6

Denver – Barry Bonds had his streak of four straight games with a homer stopped, but he drew a key walk in San Francisco’s rally from four runs down in the eighth inning.

Mets 5, Nationals 2, 10 innings

Washington – Carlos Beltran’s three-run homer in the 10th inning lifted New York past Washington.

Dodgers 4, Pirates 3

Los Angeles – Antonio Perez drove in the go-ahead run with a bases-loaded grounder.