Yadier Molina bounced a game-winning single off Jose Mesa in the 12th inning for a 2-1 victory Tuesday night, their 11th straight over the Pirates. Reggie Sanders, who had flared a leadoff single in front of right fielder Matt Lawton, scored the winning run.
Molina, 22, is in his first year as the starting catcher after the departure of free agent Mike Matheny.
"When he does something good, that smile really lights up the whole ballpark," manager Tony La Russa said. "We caught a little bit of a break. Reggie flares one, and (Molina) hits a ground ball that just finds a hole."
La Russa won his 823rd game with the Cardinals, passing Whitey Herzog for second place on the franchise list. La Russa is 218 victories behind franchise leader Red Schoendienst.
After his single, Sanders advanced on John Mabry's groundout and Abraham Nunez was intentionally walked. That brought up Molina, hitting just .222. He bounced a single between third and shortstop that deflected off the glove of third baseman Rob Mackowiak and into left field. Sanders scored without a play.
"That's a play that should be made," Mackowiak said. "I shouldn't have let the ball get to the outfield. Mesa did his job, he got a ground ball, and it should have been a double play."
Mesa (0-4) has 13 saves in 15 chances, but has four losses and two blown saves in his last five outings. In 1 1/3 innings, he allowed two hits and two walks, one of them intentional.
The Cardinals, who also had an 11-game winning streak against the Pirates in 2000 and 2001, won despite being outhit 11-6.
Pittsburgh's Jason Bay hit an opposite-field homer to right for the second straight game and second straight at-bat. The Pirates have taken the lead in seven straight games but are just 2-5 in that span.
Pirates starter Kip Wells allowed an unearned run and four hits in 7 1/3 innings with six strikeouts and two walks. In his last two starts, Wells has given up one run on eight hits in 15 1/3 innings and has a pair of no-decisions.
"These guys give you a battle," Wells said. "This is the kind of team that will usually capitalize on mistakes, they make you work every inning."
Al Reyes (2-0) had two strikeouts and a walk in 1 2/3 innings for the Cardinals. The St. Louis bullpen allowed five hits in seven scoreless innings in relief of Jason Marquis, who walked five and threw 112 pitches in five innings.
The Cardinals' Albert Pujols was ejected for arguing a borderline called third strike in the sixth. Pujols, who began the day tied for the NL lead with 39 RBI, questioned home plate C.B. Bucknor's call on a full-count breaking ball and then appeared to shout as he slammed his bat to the ground.
"He showed him up with the bat," La Russa said. "(Bucknor) thought he had crossed the line. We have enough trouble trying to figure out how to play without trying to umpire, too."
Pujols wasn't sure what he had done.
"I don't know," Pujols said on his way out of the clubhouse. "Ask him."
Bay homered in the first off Marquis to give the Pirates the lead, his 10th homer of the season and eighth in May.
Shortstop Jack Wilson's first error in 35 games allowed the Cardinals to tie it in the fourth. Second baseman Jose Castillo made a nice diving stop on Sanders' ball up the middle and flipped the ball out of his glove to second for the force, but Wilson's relay on an attempted double play was wild, and Larry Walker scored from second.
Marquis battled wildness for the second straight start -- he has a two-game total of 11 in nine innings. He allowed a run and six hits, escaping his final inning when he struck out Mackowiak with the bases loaded and a full count for the third out.