Nick Punto hit a go-ahead double in the ninth inning and the surging St. Louis Cardinals overcame three errors by first baseman Albert Pujols to beat the Pirates, 6-4, last night in Pittsburgh.
Trying to stay in the wild-card and NL Central races, the Cardinals won for the sixth time in seven games.
The loss dropped the Pirates to 67-81. In a season that once had so much hope, they are stuck with a non-winning season for the 19th straight year.
Working on the day he signed a $21 million, two-year contract, Cardinals ace Chris Carpenter hit an early two-run single. He took a 4-2 lead into the seventh, but Andrew McCutchen tied it with a two-out homer.
Daniel Descalso singled with one out in the St. Louis ninth for his third hit of the night and Tyler Greene came in to pinch run. Punto followed with a drive to left-center on a hit-and run to put the Cardinals ahead. With the bases loaded, Pujols atoned for his defensive miscues and provided some insurance with a sacrifice fly to right.
The Pirates put runners on first and second with no outs in the ninth, but Pedro Ciriaco bunted into a forceout and Neil Walker grounded into a double play to end it.
Kyle McClellan (11-6) earned the win in relief while Jason Motte worked the ninth for his sixth save.
Pittsburgh closer Joel Hanrahan (0-4) took the loss.
Astros 5, Phillies 2 - Clint Barmes hit a three-run homer and J.A. Happ pitched six solid innings against his former team as Houston prevented Philadelphia from wrapping up a playoff spot.
The Phillies needed a win over Houston or a loss by St. Louis to clinch at least a wild-card berth. But the NL East leaders will have to wait to secure their place in the postseason after the Cardinals beat the Pirates.
Philadelphia starter Cole Hamels (14-8) fell to 0-3 in his last five starts against the Astros after going 3-0 in his first four career starts against them.
Braves 7, Marlins 1 - Brian McCann and Dan Uggla each hit a three-run homer and host Atlanta snapped its longest losing streak of the season, beating Florida to end a four-game skid.
The Braves, whose lead over the Cardinals in the NL wild-card standings is down to 4 1/2 games, held a private meeting before the game in hopes of shaking things up.
It finally worked in the sixth. Uggla drew a one-out walk from Brad Hand (1-7), Matt Diaz singled to right and McCann came through with a towering shot over the center-field wall for his 24th homer. Uggla put it out of reach in the seventh with his career-best 34th homer, also a three-run shot.
Rangers 10, Athletics 4 - David Murphy had a pair of solo home runs among his four hits and Josh Hamilton put AL West-leading Texas ahead to stay with his 20th homer in a victory over Cleveland.
Murphy already had both of his homers, his 10th and 11th of the season, before Hamilton hit a scorching liner off Justin Masterson (11-10) into the right-center field seats by the Texas bullpen for a 4-2 lead in the fifth.
Reds 2, Cubs 1 - Brandon Phillips homered again, helping Mike Leake and host Cincinnati beat Chicago to end a three-game losing streak.
Leake (12-9) allowed six hits and two walks over eight innings in what is expected to be his final start of the season. The Reds plan to shut him down in an effort to prevent arm problems.
Royals 4, Twins 0 - Bruce Chen pitched eight crisp innings, Alex Gordon homered and host Kansas City beat Minnesota.
Chen (11-7) allowed two singles, struck out eight and walked one. He was 0-2 with a 7.94 ERA in his previous two starts.
Nationals 3, Mets 2 - Craig Stammen got his first win and his first hit in more than a year, scoring the go-ahead run on Ryan Zimmerman’s seventh-inning single to lead Washington over New York before another sparse crowd at Citi Field.