St. Louis St. Louis took three days of frustration out on Kirk Rueter.
Albert Pujols and Edgar Renteria hit three-run homers off Rueter in an eight-run second inning as the Cardinals beat San Francisco, 9-5, Thursday to avoid a four-game sweep.
"Most of the first three days you've just got to give their pitchers credit for making quality pitches at the right time," manager Tony La Russa said. "I really thought the club geared up to salvage something."
The Giants were trying to complete the franchise's first four-game sweep at St. Louis since May 9, 1912, when Christy Mathewson finished off the Cardinals.
Instead, the Cardinals roughed up Rueter, with Pujols and Scott Rolen hitting consecutive homers in the second to cap a burst that included Renteria's shot.
Entering the game, Rueter had allowed five homers in 17 starts.
"I left some pitches up," Rueter said. "Usually, I try not to give up home runs, and they get three in one inning."
Barry Bonds got the afternoon off for the Giants, a day after hitting two home runs. The Giants have not swept any series in St. Louis since July 1987.
Rueter (7-3), who lives in nearby Hoyleton, Ill., had one of the worst outings of his career. He had been 5-0 with a 2.28 ERA in nine starts in St. Louis, but gave up eight runs on nine hits in only three innings.
Astros 7, Brewers 3
Houston -- Jeriome Robertson won his sixth consecutive decision, and Jeff Bagwell and Geoff Blum each hit three-run homers to lift Houston over Milwaukee. Robertson (7-3) hasn't lost in 12 starts since April 25 against the New York Mets and leads the team in wins.
Phillies 12, Cubs 2
Philadelphia -- Placido Polanco had three hits and three RBIs and Brett Myers pitched into the seventh inning, leading Philadelphia. The Phillies have won 13 of 16, including eight of nine, to cut Atlanta's lead in the NL East to 41/2 games. Damian Miller hit a two-run homer for the Cubs, who have lost seven of nine.
Expos 5, Braves 4
Atlanta -- Claudio Vargas won his third straight start, and Endy Chavez and Michael Barrett provided the offense as Montreal remained unbeaten in Atlanta this year. Vargas (6-3) allowed eight hits and three runs in 71/3 innings without walking a batter. The rookie was replaced by closer Rocky Biddle, who gave up a two-run single to Gary Sheffield that made it 5-3. Biddle got in a ninth-inning jam, but Julio Manon came in to retire Sheffield on one pitch for his first career save.
Pirates 8, Reds 7
Pittsburgh -- Matt Stairs hit two-run homers off Ryan Dempster in consecutive at-bats and Pittsburgh held off Cincinnati's third comeback attempt in three nights, avoiding another near-collapse by closer Mike Williams. The Pirates won for only the 16th time in 42 home games. Reggie Sanders also homered for Pittsburgh. Josh Fogg (5-3) got the victory. Dempster (2-5) took the loss.
D'backs 8, Rockies 4
Denver -- Rookie Brandon Webb pitched seven strong innings, and Chad Moeller drove in three runs, leading Arizona past Colorado for a split of their four-game series. Moeller hit one of the Diamondbacks' four home runs. Steve Finley had a two-run homer, and Shea Hillenbrand and Robby Hammock added solo shots as Arizona won for the 13th time in 15 games.
Padres 7, Dodgers 4
Los Angeles -- Ryan Klesko hit a two-run homer and San Diego sent Kevin Brown to his third straight loss, earning a three-game sweep. Gary Bennett doubled home two runs and Adam Eaton won for the first time in five starts, helping the Padres extend their longest winning streak of the season to five games -- one more than their longest of last year.