A dropped pop fly helped spoil Jaime Garcia's shutout in the eighth inning.
The 24-year-old left-hander refused to let it ruin the St. Louis Cardinals' night.
Garcia buckled down after allowing an unearned run that helped the Philadelphia Phillies tie it, setting the stage for Lance Berkman's bases-loaded single lined over a drawn-in outfield in the ninth of a 2-1 victory Tuesday night.
Second baseman Tyler Greene, a defensive replacement in the seventh, muffed Jimmy Rollins' routine popup, and Rollins eventually scored on a sacrifice fly by Placido Polanco.
"After the error, you know what, I was locked in," Garcia said. "Nothing affected me. I would say every time I go out there I get better and better mentally."
Garcia is 5-0 with a 1.64 ERA, tying for the National League lead, and has permitted only one earned run on 15 hits in 31 innings at home. Fernando Salas (2-0) had a strikeout in a perfect ninth before Berkman took Greene and a lineup that stranded a season-high 14 runners off the hook.
Nick Punto would have been La Russa's choice as defensive replacement, but was unavailable to play the field because of a sore elbow.
"I never felt so relieved for Berkman to get that hit," Greene said. "I came up to him, gave him a big hug."
The Phillies' Roy Oswalt worked five efficient innings in his first start off the 15-day disabled list for lower back inflammation, allowing one run on seven hits with three strikeouts and a walk. Berkman faced his former longtime Astros teammate for the first time and had a single and a walk in two trips.
"That wasn't that great of a hit. Roy's got good stuff, I was impressed," Berkman said.
Oswalt seemed fairly satisfied, but had wanted to pitch one more inning. Oswalt's velocity was down in his lone rehab start, although Monday he said the mph was overblown.
"A few two-out hits hurt me," Oswalt said. "Overall, my velocity was a little bit better. Strength-wise was a little bit better."
The Phillies became the last team in the majors to lose three in a row Monday and have totaled seven runs on 17 hits during their first four-game losing streak since last Aug. 23-26. Ryan Howard was 0 for 4 and struck out his last three at-bats against Garcia, failing to reach base safely for the first time in 23 career games in his hometown.
"We've got some guys up there, maybe they want it too bad," manager Charlie Manuel said. "It's pretty tough right now for us. We'll be all right, we'll stay in there and hang in there. We'll fight."
Berkman walked with one out in the fourth and scored on a close play at the plate. Third base coach Jose Oquendo was aggressive and sent him home on Yadier Molina's single to shallow left, and Berkman's hook slide barely eluded catcher Dane Sardinha's tag after an off-line throw from John Mayberry Jr.
Ryan Theriot, Jon Jay and Albert Pujols opened the ninth with three straight singles off Danys Baez (1-2) — Jay on a broken bat and Pujols on a flare that plopped into right field barely out of the reach of second baseman Pete Orr. Matt Holliday, in an 0-for-13 slump, grounded into a forceout at the plate with the infield in before Berkman lined J.C. Romero's first pitch over the head of center fielder Mike Martinez to get the mini-sweep.
"You're facing Cliff Lee and Roy Oswalt, that's a pretty daunting task," Berkman said. "You figure if you can get one of those, you'll feel pretty good about ourselves and because of Jaime we were able to get both of them."
Phillies rookie reliever Michael Stutes threw three pitches to open the sixth before leaving with a strained muscle, and Stutes said he had pain in the middle of his back. Stutes fell behind 3-0 to Berkman before looking to the dugout for help and pointing at his right shoulder.
Notes: Baez has allowed six earned runs in four innings his last five appearances. ... Garcia has 26 strikeouts and six walks at home. ... Cardinals CF Colby Rasmus was not in the lineup for the third straight game with a minor abdominal injury, but said he was ready to play and got a favorable report from the team's medical staff Monday night. Rasmus said he originally was injured lifting weights more than a week ago. ... The Phillies were the last team in the majors to lose three in a row. ... Phillies C Carlos Ruiz, in a 1-for-32 slump, got a day off. ... CF Shane Victorino (right hamstring) missed his second straight start. ... Cardinals 2B Skip Schumaker (triceps) begins a rehab assignment at extended spring training in Jupiter, Fla., on Wednesday. ... Mayberry is 2 for 2 on steals against Cardinals C Molina, with one in each game. ... Cardinals LHP Brian Tallet worked two perfect innings in his first rehab start for Class A Quad Cities.