Joel Pineiro, who had been winless since April 29, gave up only five hits in 6 1/3 innings.
"That's probably the best I've seen him in a couple of years," said Ryan Franklin, who gained his 12th save with a scoreless ninth.
Pineiro, employing a good sinkerball, knew he hadn't won in nine starts, and La Russa pointed out that the Cardinals hadn't scored much for him while he was on the mound.
"It seemed forever," Pineiro said. "But I stayed positive."
Ron Villone, who had struggled lately, recorded perhaps the biggest outs of the game when he got pinch hitter Chris Coste to ground into a double play with two runners on and one out in the seventh. Philadelphia manager Charlie Manuel had sent up left-handed pinch hitter Greg Dobbs, a .447 hitter off the bench, against Pineiro. La Russa then got Manuel to waste Dobbs by bringing in Villone.
Pineiro got a key double play on Carlos Ruiz when the Phillies had the bases loaded and one out in the second.
CARDINALS 2, PHILLIES 0: The Cardinals didn't do much against Philadelphia's Cole Hamels, but Rick Ankiel hit his 19th home run and All-Star Ryan Ludwick hit his 18th for the club's only two runs. The Cardinals are six games over .500 on the road at 25-19.
NOTES AND QUOTES
--LHP Mark Mulder, presumably recovered from two shoulder surgeries the last two years, will start against the Phillies on Wednesday. "I expect Mark to be competitive," said pitching coach Dave Duncan. "I don't expect him to have pinpoint control.
"You've got to start somewhere."
--General manager John Mozeliak said that RHP Adam Wainwright, cleared to begin throwing again after suffering a sprained middle finger on his right hand, and RHP Chris Carpenter, who had an outstanding simulated game Monday in Florida, both may rejoin the rotation in early August.
--3B Troy Glaus went hitless for the fifth consecutive game. He is 0-for-19 since hitting a game-ending home run against the Mets on July 2.
--CF Rick Ankiel took over the club home run lead at 19 with his seventh homer in his last 13 games. 1B Albert Pujols and RF Ryan Ludwick have 18 homers.
--C Yadier Molina's hitting streak ended at 13 games when he went 0-for-3.