SAN DIEGO -- It's gotten so bad for the San Diego Padres that they were outhit by a catcher making his major league debut.
Catcher Tony Cruz had three hits in his big league debut.
The Padres had only two hits. They went 0 for 19 with three walks after Chase Headley's double in the fourth. The Padres lost their season-high fifth straight and dropped to 8-20 at home, worst in the majors. It was the first time in six games they scored more than one run.
Descalso's sharp one-hopper off the glove of diving second baseman Orlando Hudson -- his third hit -- scored Allen Craig, who drew a leadoff walk off Ernesto Frieri (1-2) and stole second. Frieri struck out Skip Schumaker and Cruz.
Cruz was recalled from Triple-A Memphis on Monday after backup catcher Gerald Laird was placed on the 15-day disabled list with a broken right index finger.
"You saw his potential," manager Tony La Russa said. "He caught well, blocked the ball. He's still a developing catcher, but he's at a nice level right now and should get better. He stands at the plate and has a very nice swing."
Cruz said he felt comfortable making his debut.
"I think being able to go out there and catch the first inning kind of got the nerves out a little bit, helped me out," he said. "I just went up there trying to make solid contact. Things worked out."
"I think they are hanging in there," manager Bud Black said. "Obviously they are frustrated with what the results have been. But they come to the park every day to play."
The Cardinals have won four straight and eight of nine.
The Cardinals stranded a runner in every inning except the fourth and 10th.
Hawpe hit a two-run homer to straightaway center in the bottom of the inning, one batter after Ryan Ludwick reached on shortstop Ryan Theriot's two-out throwing error. It was Hawpe's third. The Padres had only two baserunners after the homer until the 10th.
Hawpe made a diving catch of Jon Jay's linedrive to end the seventh with a runner on third. The Cardinals had just tied the game at 2 on Theriot's groundout. Cruz led off the inning with his second big league hit, a double, and advanced on Descalso's single before being caught in a rundown on a grounder to first by pinch-hitter Colby Rasmus.
Cruz's first big league hit was a single up the middle in the second.
Neither starter factored in the decision. St. Louis' Kyle McClellan held San Diego to two unearned runs and two hits in six innings, struck out four and walked none. San Diego's Aaron Harang allowed two runs, one earned, and eight hits in seven innings, struck out seven and walked one.
"I made really two mistakes and both were hits," McClellan said. "Other than that I felt like I was in control and was able to use all my pitches. It's the big leagues, and they hit mistakes."
Black said C Nick Hundley is about a week away from returning from the DL. The Padres will know by Friday whether Hundley can start taking swings. Hundley went on the DL on May 6, retroactive to May 5, with a strained muscle in his right side. ... Chris Denorfia struck out in the third, the Padres' 400th whiff of the season. ... This was San Diego's sixth extra-inning game at home and ninth overall. The Padres have won three overall, two at home.