ST. LOUIS -- Barry Bonds heard the familiar chorus of boos each time he touched the ball in left field. When he came to the plate and didn't get to swing, that derision was directed at the mound.
Bonds went 0-for-2, drew two more walks and stayed put at 751 homers, Randy Winn hit a two-run single and San Francisco scored three unearned runs on Miles' trio of seventh-inning mistakes in a 7-6 victory over the Cardinals on Saturday night.
"It's nice to get breaks," said San Francisco manager Bruce Bochy, whose club has had its share of bad luck to go with bad play during the season's first half.
Skip Schumaker hit a tying solo home run in the sixth for his first of the year in a rare start, the first longball allowed in six starts by Giants rookie Tim Lincecum (4-2). But the typically reliable St. Louis defense fell apart on a pair of throwing errors and a fielding error by Miles -- a night after So Taguchi's dropped ball in center allowed three runs to score in San Francisco's 4-3 win.
Miles wasn't around after the game to discuss his tough night, but his teammates are confident he will bounce back quickly.
"You don't show it, but it's definitely going to kill you inside," Schumaker said. "But tomorrow will be a new day for him, and he'll be fine."
Now, the defending World Series champion Cardinals will try to avoid their first three-game sweep at home since the New York Mets took all three at Busch Stadium to start the season.
"We had a couple of golden opportunities," Cardinals manager Tony La Russa said. "To me that's a bigger story."
The Giants survived an eighth-inning rally against their bullpen to win for the fifth time in seven games and take a road series for the first time since sweeping the Dodgers from April 24-26 at Los Angeles.
Even after Bonds was lifted for Fred Lewis again late in the game, the crowd mildly booed the rookie outfielder when he caught Ludwick's fly to left in the seventh -- apparently still thinking No. 25 was in his regular spot.
The slugger fouled out to the catcher to end the seventh and his night. He struck out looking on a fastball on the inside corner of the plate to start the fourth.
Bonds walked on five pitches leading off the second inning, and this time the sellout crowd took it out on Braden Looper (6-7). The fans booed their pitcher again when Bonds walked in the sixth, his 91st free pass.
Such is the predicament for the conflicted Cardinals faithful, who appreciate well-executed baseball by both sides as much as anyone who follows the game.
"I know one thing, Cardinal pitchers have always gone after Barry, as I have in the past," said Bochy, who came to the Giants this season after 12 years managing San Diego. "That says something about their fans. I've said this, fans come to see a great hitter who could be the greatest hitter of all time. They want to see him swing the bat."
A young boy wearing Bonds' No. 25 jersey in the upper deck of Busch Stadium stood and clapped before the Giants star stepped into the box in the second. Bonds focused in before the game, resting his head on his bat while listening to music through huge headphones.
Bochy said he expects Bonds to play in Sunday afternoon's series finale, the last game before the break. The seven-time NL MVP is set to start in the All-Star Game on Tuesday night back home.
Albert Pujols turned an unassisted double play to end the third and added a pair of singles, though his homerless streak reached 21 games and a career-worst 71 at-bats. Looper lined a two-run double down the first-base line in the second, but saw his winless stretch on the mound reach six starts with his fourth straight lost decision. Schumaker matched his career high with three hits.
Lincecum singled and scored, struck out five and walked three while allowing six hits in six innings to get a win in his first career appearance against the Cardinals. The hard-throwing right-hander was coming off his best outing yet and hadn't allowed a run in 17 innings before Looper's fourth hit of the year.
Brad Hennessey pitched the ninth for his fifth save in seven chances.
- Bonds has five walks in the first two games of the series.
- Miles' three errors were half his season total coming into the game. Catcher Yadier Molina also committed a throwing error in the ninth.
- Two of Looper's hits are doubles.
- The Cardinals turned three more double plays, giving them 11 in three games.
- St. Louis also lost Tuesday to Arizona after two errors in the first inning.
- Schumaker has seven hits in his last eight at-bats, including three pinch hits.
- Lincecum will get a lesson on base running from third base coach Tim Flannery after successfully going home on Winn's hit despite being told to hold up at third. "That was stupid on my part, but I'll learn from it," Lincecum said.