ST. LOUIS -- Salomon Torres' first save of the year was far from routine.
The Pittsburgh Pirates' reliever escaped a bases-loaded, one-out jam in the eighth inning then got Albert Pujols to ground out with a man on for the final out in a 1-0 victory over the St. Louis Cardinals on Saturday night. He worked the final two innings because closer Mike Gonzalez is on the 15-day disabled list with an elbow injury.
"Those two innings, it has to be the best performance of this year for myself," Torres said. "I felt in total control of all my pitches and I knew exactly what I wanted to do, and I just executed it."
Torres was one of three pitchers combining on an eight-hitter and Ronny Paulino hit a bases-loaded sacrifice fly in the seventh. The Pirates prevailed in an improbable low-scoring game involving starters with ERAs of 7.88 (Chacon) and 5.92 (Jeff Weaver) and have won four of five.
The Pirates have the worst road record in the major leagues at 18-50, but have won three of four on the road. They're also 24-22 since the All-Star break after laboring 30 games below .500 in the first half.
"When I saw Salomon come in for the eighth I had a good feeling that the game was over," reliever Matt Capps said. "It's that mentality that we've got right now."
Weaver (2-4) threw seven solid innings and Aaron Miles had three hits for the Cardinals, who are 6-2 with one game to go on a nine-game homestand. The Cardinals stranded 12 runners and were 0-for-11 with runners in scoring position.
"This one is really tough to take because of the chances," manager Tony La Russa said. "We just couldn't break through."
St. Louis loaded the bases with one out in the eighth against Salomon Torres, making his league-leading 81st appearance. But Torres struck out Ronnie Belliard and pinch hitter Preston Wilson.
Miles got an infield hit with one out in the eighth, but he got no further as Pujols grounded out to short to end the game. Torres struck out three in two innings, working around three hits and a walk.
Chacon bounced back from a tough start against the Astros and allowed four hits in five innings. The Cardinals stranded eight runners against Chacon, who had three strikeouts and four walks, leaving two on in the first, second, third and fifth.
Capps (6-1) allowed one hit with a strikeout in two innings. Zach Duke has the only complete game among the Pirates' seven shutouts.
Weaver, who had been 0-2 with an 8.14 ERA at home, gave up one run on five hits in seven innings with a walk and four strikeouts. The walk to Ryan Doumit, which loaded the bases in the seventh with one out, ended up hurting him.
Weaver allowed only two runners to make it to scoring position before the seventh. Freddy Sanchez led off with a single, Xavier Nady got an infield hit on a dribbler down the third-base line with one out and Doumit walked before Paulino's sacrifice fly put the Pirates ahead.
The drive to deep right-center had a chance to drop in but right fielder Chris Duncan tracked it down.
"I don't know how he could have pitched much better," La Russa said. "He pitched outstanding."
- Chris Duffy had been 14-for-14 in steal attempts, 11 of them coming in August, before getting thrown out at second by Yadier Molina in the sixth.
- Scott Spiezio, who got a spot start because he was 2-for-3 with a pair of home runs against Chacon, went 0-for-3 against the right-hander.
- Weaver is 4-2 for his career against the Pirates with a 2.30 ERA.
- Jason Bay struck out all four at-bats and has fanned seven times in eight at-bats the first two games of the series.
- Torres has six career saves, including three last year.
- Weaver is 5-14 overall, tying him for the most losses in the major leagues.
- The Cardinals have been shut out six times, the last two times by the Pirates. The Pirates won 7-0 Aug. 13 in Pittsburgh.