Cubs rally past Pirates again, 3-2

Pittsburgh closer Mesa victimized in ninth inning for second straight day

? A one-run lead in the ninth, Jose Mesa on the mound. For two days in a row, the very situation the Pittsburgh Pirates wanted proved to be exactly what the Chicago Cubs needed to get their bats going.

Jose Macias’ sacrifice fly drove in the go-ahead run, and the Cubs rallied with two runs in the ninth Wednesday against Mesa for the second time in less than 20 hours, ruining Kip Wells’ solid start and beating the Pirates, 3-2.

“That was a big victory for us — a couple of weeks ago we were losing those games,” said manager Dusty Baker, whose Cubs came into the series 6-9 in one-run games. “That was a good two days here, especially beating Mesa two days in a row. That doesn’t happen.”

The Pirates had won 40 consecutive games when leading after eight innings, and Mesa had converted 23 successive save opportunities, until the Cubs won, 4-3, Tuesday night on Derrek Lee’s two-run homer in the ninth.

After that loss, perhaps the Pirates’ toughest all season, outfielder Jason Bay said he gladly would take the same situation again Wednesday. That’s precisely what happened — and, again, the Cubs rallied to win.

Diamondbacks 7, Astros 6

Houston — Troy Glaus hit a two-run homer, Russ Ortiz (4-2) pitched well enough to win, and Arizona roughed up Andy Pettitte before holding off Houston. Glaus finished 3-for-5, helping the Diamondbacks match a season high with 14 hits against an Astros team that had won three straight, including consecutive shutouts.

Cardinals 8, Phillies 4

Philadelphia — Yadier Molina hit a three-run homer, and Albert Pujols added a two-run shot, helping St. Louis overcome another homer by Bobby Abreu in a victory over Philadelphia. Chris Carpenter (6-2) allowed three runs and five hits, striking out seven in six innings for his second straight win. Abreu hit a three-run drive in the sixth inning, giving him homers in nine of the last 10 games. By that time, the Phillies already trailed, 8-0.

Chicago's Corey Patterson, top, scores the go-ahead run in the ninth inning on a sacrifice fly by Jose Macias. Greeting Patterson is Aramis Ramirez. The Cubs won, 3-2, Wednesday in Pittsburgh.

Giants 3, Rockies 2

Denver — Deivi Cruz hit a tiebreaking triple in the ninth inning, sending San Francisco over Colorado in the lowest-scoring game at Coors Field this season. Pedro Feliz led off the ninth with a single against Brian Fuentes (0-3), then Cruz lofted a drive over right fielder Brad Hawpe’s head.

Nationals 1, Brewers 0

Washington — Jeffrey Hammonds singled home the winning run with one out in the ninth inning, giving Washington a victory over Milwaukee. Hammonds, in an 0-for-13 slump entering the game, took advantage of a rare start to go 2-for-4.

Marlins 8, Dodgers 3

Los Angeles — Carlos Delgado, Miguel Cabrera and Damion Easley homered in a five-run sixth inning, powering Florida over Los Angeles. Josh Beckett (6-3) allowed two runs and five hits in six innings and singled home a run for the Marlins, who took two of three from the defending NL West champions after getting swept in a three-game series at San Diego.

Padres 8, Braves 4

San Diego — Khalil Greene hit a pair of three-run homers for a career-high six RBIs, and Adam Eaton won his fourth consecutive start to lead San Diego over Atlanta. The Padres won for the 16th time in 19 games, a span that has vaulted them from fourth in the NL West to sole possession of the division lead.

Mets 10, Reds 6

New York — Given an early lead, Tom Glavine won consecutive starts for the first time in more than a year. Chris Woodward, Mike Cameron and David Wright homered, and Mike Piazza went 4-for-4 as New York beat Cincinnati to complete a three-game series sweep.