San Diego manager Bud Black said his team caught St. Louis starter Adam Wainwright on the wrong night.
Wainwright threw a four-hitter and the Cardinals beat the San Diego Padres 4-0 on Tuesday.
It was his first shutout victory since Aug. 6, 2010, and third in his career. Wainwright (3-5), who missed 2011 with elbow ligament replacement surgery, struck out nine and walked one while throwing 111 pitches. He retired the first eight batters and allowed just one runner to reach third base.
"I've seen Adam over the years, not a great deal, but that was a well-pitched game from him," Black said.
The Padres were unable to do much with Wainwright.
"We had a plan going in. We knew this guy attacks, he goes at you," Black said. "But, man, he kept the balls on the corners. He got in on us. He broke some bats. And when that happens a few times, you're a little weary of that and a ball away looks 5 feet away from you.
"We just couldn't generate anything. There wasn't a lot of hard contact. Overall, he had our number."
Carlos Beltran had two hits and two RBIs and Matt Holliday added two hits and an RBI for the Cardinals.
Edinson Volquez (2-4) gave up five hits and three runs in six innings. The former Cincinnati Red remains winless in St. Louis. He is 0-3 in four career starts at Busch Stadium with a 6.50 ERA.
"I think I did good tonight," Volquez said. "We lost, but I did the best I can. I was battling the whole time."
But he couldn't outduel Wainwright, who has struggled most of the season until Tuesday.
"It was a huge sense of relief," Wainwright said. "A huge sense of feeling blessed. I've worked very hard to get back to where I am.
"I told Jake (Westbrook) I think it might be the best feeling I've ever had pitching. I've done some things that are pretty fun but I can't remember ever feeling that emotional after a game."
St. Louis took a 1-0 lead in the first inning. Matt Carpenter hit a double to left field and appeared to hurt himself as he left the batter's box. Daniel Descalso came in to run for Carpenter and scored on Beltran's two-out single. Descalso stayed in the game at third base for Carpenter, who experienced "right side tightness," according to a club spokesman.
Descalso scored on a bang-bang play at home in the sixth. He was hit by a pitch leading off and went to third on a seeing-single between first and second by Holliday. Beltran rapped a sharp grounder to first baseman Yonder Alonso. Descalso came halfway down the line. Alonso threw to third baseman Andy Parrino. Descalso headed home and slid in safely.
With the bases loaded, one out and the infield in, Tyler Greene hit a hard grounder to shortstop Everth Cabrera, who bobbled the ball before pushing it to get the force at second. Holliday scored on the play, making it 3-0.
"You can't complain about that, it's part of the game," Volquez said.
Holliday gave St. Louis a 4-0 lead in the seventh off reliever Alex Hinshaw when he doubled home Rafael Furcal.
Notes: San Diego 3B Chase Headley did not start Tuesday because of a lower back issue. He had started 42 of the Padres' 43 games. ... It was the 100th career start for Volquez. ... Cabrera went 0-for-3, extending his hitless slump to 17 consecutive at-bats.