"He was like he usually is - outstanding," manager Tony La Russa said. "No matter how hot you are, no matter how well you're swinging, you just don't get that much to hit."
The Cardinals rebounded from a pair of defeats by 15-3 and 14-5 scores after a storm injured 30 people, blew out press box windows, overturned portable concession stands and ripped the tarp at new Busch Stadium, causing a delay of 2 hours, 12 minutes.
"We all took turns coming out," La Russa said. "That's an experience. I can't remember it happening since I've been in St. Louis."
Perhaps two-thirds of a sellout crowd of 43,991, who were trapped during the brunt of the fierce storm, stuck around after the delay to watch the Cardinals win for the eighth time in 10 games, wrap up a 5-2 homestand and end Atlanta's season-best seven-game winning streak.
Carpenter (9-4), last year's NL Cy Young winner and the lone Cardinals starter with an ERA below 5, held Atlanta to two runs and five hits in seven innings. The Braves had been the first team since the 1930 Yankees to score 10 or more runs in five straight games but they struggled against the strong right-hander.
"We had a chance to sweep, but we were going up against Mr. Cy Young," manager Bobby Cox said. "He looked like Cy Young to me."
Carpenter, who threw a two-hit shutout against the Dodgers in his last start, struck out six and didn't walk a batter. La Russa limited him to seven innings and 77 pitches because he had to warm up twice.
"I'm going until they take me out," Carpenter said. "I just do the best I can."
Chipper Jones had two hits for the Braves and is 41-for-78 (.526) with eight homers and 24 RBI during a 19-game hitting streak that matches his career best set in 2000. Brian McCann homered for the fifth consecutive game in the seventh, the Braves' 24th long ball in the last seven games.
Atlanta scored 73 runs in the previous five games, the best by the franchise since the 1897 Boston Beaneaters scored 78 runs in a five-game span from May 31-June 3. The Braves batted .394 during the run.
Edmonds homered for the third straight game, and for the first time in a meaningful situation, when he connected for his 14th homer off Jason Shiell (0-1) to put the Cardinals ahead 4-1 in the third. Carpenter, an .081 hitter, drove in his second run of the season with a base hit in a four-run fifth off Kevin Barry.
Shiell said the pitch to Edmonds wasn't a bad one.
"You watch a guy on TV and he is an idol to a lot of kids, including myself," Shiell said. "I am in awe of watching him hit.
"I didn't want him to beat me, but he did."
Seven of Edmonds' homers have come this month.
"I'm getting one good (swing) a day," Edmonds said. "I'm just trying to keep my head above water."
Scott Rolen had an RBI single, Juan Encarnacion a sacrifice fly and Hector Luna was hit by a pitch with the bases loaded to produce the other three runs.
Shiell, 29, subbing for injured John Thomson in the rotation, lasted four innings and gave up four runs and four hits in his first career start and first major league appearance since July 30, 2003. Shiell, who missed the 2004 and '05 seasons following elbow surgery, made his previous 20 appearances as a reliever.
- Shiell, who began the season in the independent Atlantic League, was the 10th starter used by the Braves this season.
- Carpenter improved to 3-0 in July.
- The Cardinals have homered in 16 straight games, two off the franchise record set in 2000. They've totaled 25 homers in that span.
- David Eckstein had a career-high three strikeouts for the third time in his career, and first since July 6, 2004, at Chicago White Sox when he was with the Angels.
- The Cardinals have not committed an error in their last 10 games.