SAN FRANCISCO -- Jeff Suppan was more surprised with his offense than the St. Louis defense, and he needed both to earn his first win in San Francisco.
Einar Diaz drove in two runs and Scott Rolen made several dazzling plays at third as the Cardinals won for the sixth time in eight games. Their 11½-game lead over the Houston Astros is their largest ever at the All-Star break.
"Rolen, Albert (Pujols), I'd have to name the whole team," said Suppan, who gave up three runs in 6 1/3 innings. "Rolen was making some incredible plays; making plays off his knees. We were also turning double plays on balls that were hard hit."
Rolen, voted as the NL's starting third baseman, pulled out of the All-Star Game to rest a problematic shoulder.
"We finally pursued Rolen to take the All-Star Game off but he wanted to play today," Cardinals manager Tony La Russa said. "We don't win that game without Rolen. Our defense was inspired. All three of these games could have gone either way."
Major League Baseball confirmed Morgan Ensberg would replace Rolen on the NL roster.
Suppan (9-7) made his second start in San Francisco, and the first since losing at Candlestick Park on May 31, 1998, with the Arizona Diamondbacks.
"I remember it was windy and cold and it was a long time ago," Suppan said. "That's honestly all I can remember."
Jason Isringhausen gave up two hits in the ninth but struck out Lance Niekro with runners on the corners for his 25th save in 27 chances.
Noah Lowry (5-9) allowed four runs and seven hits in seven innings. He walked two and struck out six as the Giants lost for the sixth time in nine games.
"Noah Lowry really threw great," said Giants manager Felipe Alou, who will join La Russa on the NL coaching staff in Detroit. "That's maybe his best stuff of the year. We had trouble catching the ball. It was pretty nasty out there."
The Giants enter the All-Star break with a losing record for the first time since 1996.
"I think we have the talent to stay in any series," Lowry said. "We just have to play better in the second half."
Diaz's two-run double highlighted the Cardinals' four-run second. Reggie Sanders hit a short popup into right field that Alex Sanchez misplayed into a triple. After Scott Rolen's run-scoring groundout, Larry Walker and Mark Grudzielanek both singled before Diaz's hit. Suppan added an RBI single.
Lowry retired 14 of 17 afterward.
"We didn't swing the bats well this whole series but were consistent enough in some innings to score runs," Cardinal shortstop David Eckstein said. "We rely on our pitching staff and it's not too bad having Rolen playing third. He ate up a lot of balls today."
Suppan allowed hits to the first three batters he faced, giving up an RBI single by Niekro. Jim Edmonds threw out Omar Vizquel trying to score on the play and Suppan settled down after that.
The defense also helped Suppan out of a jam in the fifth. The Giants had Mike Matheny at third and Jason Ellison at second with one out, but Eckstein threw out Matheny trying to score on Sanchez's grounder.
In the seventh, Pedro Feliz singled and Ellison doubled around Matheny's flyout, ending Suppan's night. Ray King gave up an RBI groundout to pinch-hitter Deivi Cruz, Sanchez's run-scoring single and a single to Vizquel before Julian Tavarez came on to strike out Niekro.