Ryan Ludwick led off the 10th with a pinch-hit double against Bucs reliever Javier Lopez, and Yadier Molina sacrificed Ludwick to third. With the infield in, Ryan hit a roller to second baseman Neil Walker, who couldn't corral it, and Ludwick scored. Ryan's ball was initially ruled an error on Walker but quickly switched to a base hit and an RBI.
"I didn't think I was going to get a good pitch to hit," Ryan said, "but I wanted to be aggressive on the first good one."
The run made a winner of closer Ryan Franklin, who pitched 1 1/3 perfect innings of relief to cap an outstanding pitching night for the Redbirds. Starter Chris Carpenter went eight strong, Trever Miller got two outs in the ninth and Franklin finished it off.
Carpenter was excellent once again but didn't get a decision to show for it. Carpenter allowed five hits, walked three and struck out six. Over his four starts since the All-Star break, Carpenter has allowed five earned runs in 31 innings -- good for a 1.45 ERA. The Cardinals are 4-0 in those games.
"I think my command of my fastball has been better, and that's probably why I might be getting a little deeper [in games]," Carpenter said.
Manager Tony La Russa left Carpenter in to hit with two outs and Ryan on first base in the seventh, but sent Ryan on a steal attempt early in the at-bat. Ryan was thrown out and Carpenter pitched the eighth. However, La Russa said that if Ryan had reached second, he would have hit for the pitcher.
Pittsburgh starter Jeff Karstens was nearly as good as his opposite number. He held down the fort for six shutout frames, allowing seven hits without a walk. The Cardinals didn't get a runner to second base until the sixth, when Jon Jay and Matt Holliday hit back-to-back two-out singles.
"It's just a solid game that went their way," said Pirates manager John Russell. "It was unfortunate. [Carpenter] threw the ball outstanding. So did Jeff. It's going to come down to that one play or one big hit and they got it."
Jay continued to thrive for the Cardinals, going 3-for-4 to improve his batting average to .396 on the year. Jay has a .447 on-base percentage and a .604 slugging percentage through his first 48 big league games. He also made an impressive play in the field, chasing down a ball hit by Jose Tabata deep into the gap in the sixth inning.
Jay and Colby Rasmus nearly collided, but both outfielders stayed safe and Jay came up with the ball on a sliding snare.
"I saw we were both there, and I just trusted my instincts and I went after it," Jay said.
The Cardinals moved a half-game ahead of the Reds following Cincinnati's loss earlier in the day. They are 35-16 at Busch Stadium, the second-best home record in the Major Leagues.