That combination spoiled what was a strong outing for Kyle Lohse (14-3), whose eight-game winning streak dating back to June 26 was snapped despite a six-inning effort in which he struck out eight and gave up just two earned runs.
"He was sharp right from the beginning. Those are starts we need to capitalize on," Cardinals manager Mike Matheny said. "But certainly, he did what he could do."
One of those earned runs came on a pitch hung to second baseman Logan Forsythe in the second inning, which Forsythe deposited over the left-field wall for his team's first hit and run.
The Padres' next run was a product of a defensive lapse, the Cardinals' seventh error in their last six games. With Yonder Alonso on first, right fielder Matt Carpenter misplayed a Cameron Maybin double down the line, then missed the cutoff man and allowed Alonso to score San Diego's second run.
"I was trying to be aggressive and try to get around it to where I could keep him from getting a double, and the ball just kind of got past me," Carpenter said. "Then I turned one bad play into another one by missing the cutoff. It didn't go the way I had planned it."
"It's unacceptable, those are the kind of things that cost you games," Carpenter added.
It looked for a moment like St. Louis might overcome the miscue when Carpenter responded in the next half-inning with a game-tying two-run shot, his fifth of the year.
But then the Padres did to Lohse what the Cardinals could not do to a San Diego pitcher all series: They came up with a big hit. After Lohse retired the first two batters in the bottom of the sixth, Chase Headley doubled and Yasmani Grandal provided a two-out RBI single to give San Diego the decisive run.
"That was a tough one," Lohse said of the outing. "I felt really good, made a mistake, gave up a home run, and the other ones, I felt they did a good job of hitting some decent pitches."
The Cards made a last-ditch effort to save Lohse from what became his first loss since June 15, but in a series that saw St. Louis go 4-for-31 with runners in scoring position and leave 27 men on base, the big hit did not materialize.
With his team down by just that one run, Allen Craig doubled off former Cardinal Luke Gregerson to lead off the top of the ninth. Yadier Molina, who was batting fifth and who leads the club in batting average, then sacrificed pinch-runner Adron Chambers to third.
"That's what he did on his own, he's got that freedom," Matheny said.
Molina said the decision was rooted in his faith in the hitters behind him.
"I was trying to get the guy over there," Molina said. "You need to trust your teammates, not just yourself."
The decision meant the baton passed to David Freese, who grounded out to third without scoring Chambers. Gregerson pitched around pinch-hitter Carlos Beltran to face another pinch-hitter, Skip Schumaker. Schumaker grounded out to first to end the game.
Such was the story of the series for the Cardinals, who tallied just four hits in the game, three off Padres starter Clayton Richard (13-12). The left-hander worked seven innings of two-run ball to narrowly edge Lohse.
It was just the fourth time the Cardinals had been swept all season, and the first since a mid-July set with the Reds. It also leaves St. Louis having to bounce back against a team in the Dodgers that is hot on its tail in the hunt for the playoff race.
"Overall, it doesn't matter because it all comes down to whether or not you win. I can sit here all day and talk about the life this team has, and how I feel they're pushing, but it doesn't matter when they try to translate to this scenario," Matheny said.
"We're right there," Molina said. "It's going to take one pitch, one swing, one hit to get back on track, and hopefully it's tomorrow."