ST. LOUIS -- Chris Carpenter survived a rare off night, his 13-game winning streak still intact.
Carpenter blew a four-run lead in his worst outing since his streak began in mid-June, but the St. Louis Cardinals rallied on David Eckstein's ninth-inning RBI single to beat the Pittsburgh Pirates 5-4 on Tuesday night.
"I was cruising along and I felt like I was throwing the ball well, and got there in the seventh and all of a sudden I started getting some balls up and it got away from me," Carpenter said. "No matter who you face, you're going to give up hits if you don't execute pitches down in the zone."
Jim Edmonds and Yadier Molina homered for the Cardinals, who are 12-3 this season against the Pirates and reduced their magic number for clinching the NL Central to two. They have won the first two games of the series despite getting outhit 24-13 and a sweep on Wednesday would clinch a tie for the division.
"We worked hard to get here," manager Tony La Russa said. "The club has been so relentless, as strong-minded as you can be."
Ryan Doumit singled, homered and doubled in his first three at-bats for the Pirates, who have lost 15 of 18. He popped out to short in his fourth at-bat in the seventh.
Pirates pitchers had retired 16 straight before Hector Luna singled off Rick White (4-7) with two outs in the ninth. Luna stole second and pinch-hitter John Rodriguez was intentionally walked before Eckstein's bloop hit to shallow right. Luna scored without a play.
"You just want to find some way to help the team," Eckstein said. "I know it wasn't really pretty but it just found a hole and I was able to do the job."
Pirates manager Pete Mackanin gave credit to the Cardinals' pesky leadoff hitter.
"That guy Eckstein, I hate facing him with the game on the line," Mackanin said. "He's an outstanding clutch hitter."
Brad Thompson (3-0) allowed one hit and struck out one in two innings.
Carpenter, a 21-game winner tied with Dontrelle Willis of the Marlins for the major league lead, was handed a 4-0 lead after two innings. Edmonds hit a two-run homer, his 27th, in the first and Molina hit his eighth in the second, when the Cardinals added another run on first baseman Brad Eldred's two-out fielding error.
Both homers came off Ian Snell, who replaced Josh Fogg in the rotation after being recalled from Triple-A Indianapolis on Monday. Snell lasted four innings and gave up four runs -- three earned -- and five hits.
Carpenter, who had compiled a 1.36 ERA in his last 16 starts with three shutouts and six complete games, couldn't hold it against the last-place Pirates. Doumit hit his fifth homer in the fourth, and Carpenter was knocked out with one out in a three-run seventh that tied it.
J.J. Furmaniak, recalled from the minors earlier in the day, doubled to start the seventh and scored on pinch-hitter Ty Wigginton's single. Jason Bay's RBI single chased Carpenter and pinch-hitter Jack Wilson's bloop single off Tyler Johnson made it 4-all.
Carpenter had been 3-0 with a 1.50 ERA against the Pirates in three starts this season, but they said they've become familiar with him.
"He's a good pitcher and after seeing him a number of times you're going to get an idea how he's going to pitch you," Pirates center fielder Tike Redman said. "He got us early and we caught up to him."
Carpenter gave up four runs and 11 hits in 6 1/3 innings, his shortest outing since the last game before his winning streak began when he lasted six innings and gave up three runs in a 4-0 loss to the Red Sox on June 8. It ended a run of 22 consecutive quality starts, the longest streak in the NL since Cardinals Hall of Famer Bob Gibson had 22 straight in 1968.
"I count that as a quality start," La Russa said. "Sometimes you can abuse the stats. Our team won the game, when's the last time the Cardinals lost when he started? That's a better stat."
- Carpenter singled in the fourth for only his third hit of the season. He had been 2-for-71 on the year and the hit ended an 0-for-44 slump since June 3.
- Fogg, demoted to the bullpen on Monday, had made 119 consecutive starts since Oct. 6, 2001, when he was with the White Sox. He worked a hitless seventh. ... Albert Pujols, who hasn't started the last two games due to a right leg injury, struck out as a pinch hitter against Mike Gonzalez leading off the eighth.
- The Cardinals' Class A affiliate in West Palm Beach won the Florida State League championship Tuesday, the team's first title in that league since 1986.
- Carpenter struck out three and has 201, the first Cardinals pitcher to top 200 since Jose DeLeon also had 201 in 1989.