Cardinals 1, Pirates 0(10)

Batting just .204, Brendan Ryan is unaccustomed to being the center of attention after a game-winning hit. Finally, it was his turn to end a long night.

Ryan's broken-bat infield hit in the 10th inning drove in the game's lone run and the St. Louis Cardinals beat the Pittsburgh Pirates 1-0 on Friday night in a game delayed 2 hours and 20 minutes by rain before the first pitch. It was Ryan's first game-winning hit since Sept. 19, 2009, at Chicago.

''I love getting (beat up) after the game, that's a great feeling,'' Ryan said. ''I love those kidney shots, so it's nice to receive them for a change.

''I didn't absolutely smash it, but I got enough of it.''

Chris Carpenter allowed five hits over eight innings for the Cardinals, who have won eight of nine at home and regained first place in the NL Central by a half-game over Cincinnati. St. Louis is 35-16 at home and rebounded after a 2-5 trip, ending an 18-inning scoreless slump in the 10th for their first extra-inning shutout victory since Mark Mulder blanked the Astros 1-0 in 10 innings in 2005.

Ryan Ludwick opened the 10th with a double off Javier Lopez (2-2), his first pinch-hit in nine at-bats this season, and advanced on a sacrifice. The infield was in for Ryan's grounder and second baseman Neil Walker knocked it down with a lunge to his left but then bobbled the ball as Ludwick, who had hesitated, sprinted for home.

''I was just glad it was over,'' Ryan said.

Carpenter struck out Jose Tabata and Neil Walker to wrap up a dominant outing for the Cardinals, scattering five hits and allowing only two runners in scoring position. Carpenter is 11-1 with a 2.11 ERA in 15 career starts against the Pirates and has worked eight innings all three home starts since the All-Star break, allowing only two runs.

''I'm trying to get quick outs,'' Carpenter said. ''I think my command of the fastball has been better and that's probably why I might be getting a little deeper.''

The last 10 Pirates went down in order, with Ryan Franklin (6-1) getting the last four outs.

''One guy doesn't lose it and one guy doesn't win it,'' Pirates catcher Erik Kratz said. ''You've got to play the whole nine.''

The Cardinals stranded three runners in scoring position and had two players caught stealing against Pirates starter Jeff Karstens, who scattered seven hits in six innings. Karstens has thrown 12 scoreless innings against St. Louis this season, beating them 2-0 at home on May 8.

''(Carpenter) threw the ball outstanding and so did Jeff,'' Pirates manager John Russell said. ''It came down to one play or one big hit and they got it.''

Cardinals rookie Jon Jay singled his first three at-bats to raise his average to .400 in 110 at-bats. He struck out in the ninth to drop back to .396, although he was one of three runners caught stealing by Kratz. Jay also excelled in right field, making a running catch and sliding to avert a collision with center fielder Colby Rasmus on Tabata's drive in the sixth.

Jay is batting an NL-leading .456 in July.

Cardinals catcher Yadier Molina also showed off his arm, throwing out Tabata on an attempted steal for a strikeout double play in the fourth and then getting his third pickoff of the year when he caught Kratz napping off first to end the seventh.

Tabata made two nice charging catches in left field, sliding to snare a liner by Felipe Lopez to start the bottom of the first and also robbing Skip Schumaker in the third.

Pirates reliever Evan Meek allowed a walk in two innings, lowering his ERA to 1.23.

NOTES: Ozzie Smith and Vince Coleman threw out first pitches. The team is celebrating the 25th anniversary of the 1985 NL pennant, retiring Whitey Herzog's No. 24 jersey on Saturday and giving out bobbleheads for Coleman on Friday, Herzog on Saturday and Smith on Sunday. ... Paid attendance of 44,534 was the 14th sellout of the season for St. Louis. ... Tabata has hit in 10 straight games. ... Meek has allowed only three hits but two runs, in 9 2-3 innings since the All-Star break. ... The last Pirates catcher to throw out three would-be basestealers was Keith Osik on July 5, 1999 against the Cubs.