SAN DIEGO (AP) -- The three runs Chris Carpenter gave up in the second inning were just a hiccup.
The All-Star had plenty of help. Jim Edmonds hit a three-run homer and tied his career high with five RBI and John Rodriguez also connected. Albert Pujols had three hits and two RBI and Abraham Nunez added three singles for the Cardinals, who took two of three in the matchup of division leaders.
"My goal is to go out there and get zeros as long as I can and give my team a chance to win, and I did it today and we played a good game," Carpenter said.
Carpenter (15-4) held San Diego to three runs and five hits in seven innings to join Jon Garland of the Chicago White Sox as the only 15-game winners in the majors. He improved to 8-0 in eight road starts and won his seventh straight decision.
By scoring three runs in the second inning, the Padres matched the number of runs Carpenter allowed in 59 2/3 innings in his previous seven starts. Carpenter threw three shutouts during that span.
Otherwise, the Padres continued to lack clutch hitting as they lost for the 32nd time in 50 games since June 1. The Padres dropped back to .500 (51-51) and had their lead in the NL West cut to two games by Arizona, which beat the Cubs 6-0.
Amazingly, the Padres have lost just one game in the standings since June 1.
"I think we'll come around," manager Bruce Bochy said. "We've been in it before and come out of it and started firing on all cylinders. That's what's going to happen and we're going to win this thing. If we don't, we're going to be in trouble."
Carpenter walked Ryan Klesko leading off the second and Joe Randa doubled to left. Mark Sweeney hit a two-run double to left with one out, and Khalil Greene followed with an RBI double that bounced over third base and rolled into the corner.
"Obviously the walk to Klesko was not what I was looking for, a leadoff walk, and the ball that Sweeney hit, I left up," Carpenter said. "I thought I made a good pitch on Khalil, but he got wood on it and hit it down the line. After that I started making some
better pitches and we were able to score some runs and made it a little easier."
Following Greene's double, Carpenter retired 17 of 19 batters. He struck out five and walked one.
"When you can execute four excellent pitches, teams are going to have a tough time," catcher Mike Mahoney said. "He's just throwing the ball where he wants to and keeping batters off-balance. He's been on an unbelievable streak. But still, three runs in a game is pretty darn good."
The last time Carpenter allowed more than one run was nine starts ago, which was also his last loss, 4-0 to the Red Sox on June 8.
While the Padres continued to struggle, St. Louis got 10 runs and 15 of its 17 hits off two San Diego rookies in the first seven innings. The 17 hits match the most by an opponent in the two-year history of Petco Park -- and the Cardinals are without Reggie Sanders, Larry Walker and Scott Rolen.
"When things start going bad, they snowball," Phil Nevin said. "Just like in May when we were playing well. We'll come back around.
"Right now we're still in the lead in this division, we're still in good position," said Nevin, who was ejected in the top of the ninth for arguing balls and strikes.
Edmonds hit a three-run homer to right with one out in the first off rookie Tim Stauffer, his 18th. Nunez was aboard on a walk and Pujols on a single to left. Edmonds drew a bases-loaded walk in the fourth and singled in the sixth to score Pujols, whose RBI triple bounced off the base of the fence in right-center.
Rodriguez hit a solo shot to right with two outs in the third, his third, for a 5-3 lead.
The Cardinals scored two more in chasing Stauffer (3-6) in the fourth. After rookie Clay Hensley relieved Stauffer, Nunez reached on an infield single to load the bases after the reliever was late to cover first. Pujols hit a nubber that barely reached the grass, but he got on and Mahoney scored because Nevin had no play. Hensley then walked Edmonds to force in a run.
Stauffer allowed nine hits and seven runs in 3 1/3 innings, struck out two and walked two. He has allowed at least five runs four times in six starts.
Edmonds has driven in five runs six times, most recently on Aug. 27 at Pittsburgh. ... Carpenter matched his career high for wins, set last year when he went 15-5. ... Padres broadcaster Jerry Coleman will be inducted into the U.S. Marine Corps Sports Hall of Fame in Quantico, Va., on Friday, and the Baseball Hall of Fame on Sunday as the 2005 winner of the Ford C. Frick Award. Coleman was a star second baseman with the Yankees, but his career was twice interrupted to fly as a Marine pilot in World War II and Korea. He flew 120 missions and earned two Distinguished Flying Crosses, 13 Air Medals and three Navy Citations.