"I wish I could explain to you what he did today," St. Louis manager Tony La Russa said. "The game he pitched against that lineup, they've been scoring a lot of runs, was a gem. He's got great guts and a real good feel for pitching."
Walters (2-0) pitched three-hit ball for seven shutout innings. He struck out four and walked one.
"I was able to ahead in the count," he said. "They were swinging early. That kept the pitch count down."
Walters worked four innings of relief last Thursday in Pittsburgh, where he allowed five runs and seven hits. But he was much sharper in his fourth career start and saved a stressed-out Cardinals bullpen.
"Some of those guys needed some days off," he said. "That's one thing I've struggled with was getting past the fifth inning. I was glad I was able to do that today."
Neil Walker drove in the Pirates' only run with a sacrifice fly in the ninth. Pittsburgh fell to 16-61 on the road.
"We swung the bat terrible today," Pittsburgh manager John Russell said. "We picked up a little bit late, but it was too late. He made some good pitches, but we didn't do a very good job."
Having been eliminated from playoff contention the day before, the Cardinals started a lineup heavy on September call-ups and reserves.
"We were kind of joking about it before the game," said Mark Hamilton, who played in place of Albert Pujols and got his first major league hit. "I know [hitting coach Mark] McGwire was saying, 'We'll see how the Memphis club does today.' But it was good. It kept it light in the clubhouse today."
Craig homered with two outs in the fourth off James McDonald (4-6). That was the only run that McDonald allowed, as he lasted six innings and allowed five hits with seven strikeouts.
"He gave up the one home run, but he made some really good pitches today," Russell said. "I know he really wanted to finish strong. We had told him we were going to keep a close eye on him. I think he took the challenge and threw the ball really well."
McDonald said that getting ahead of the batters was a key for him.
"I felt like I was aggressive," he said. "Just getting strike one and focusing on one pitch at a time."
The Cardinals got two insurance runs in the eighth off Chan Ho Park when first baseman Garrett Jones' throwing error led to a first-and-third situation with one out. Anderson drove home a run with a single to right and Greene made it 4-0 with a sacrifice fly.
McCutchen extended his streak of reaching base safely to 24 games. ... Prior to the game, the Cardinals activated pitcher Adam Ottavino from the 60-day DL. Ottavino was the team's No. 1 pick in 2006.