In their skid, which has reached 13 defeats in 16 games, the Cardinals had lost games with bad pitching and bad offense, but they lost Thursday with uneven defense.
Second baseman Aaron Miles booted a double-play ball, leading to two runs for Houston in the fourth. Right-hander Adam Wainwright then rushed his throw to first after fielding an infield tap by Mike Lamb in the eighth, and Lamb, who reached second on the play, came around to score an insurance run in the Astros' 4-2 win.
REPLAY: With the Cardinals ahead 2-1 in the fourth inning, second baseman Aaron Miles tried to get two outs before he got one as he attempted to field Preston Wilson's grounder. Miles muffed it, allowing one run to score, and the second run came home on a double-play grounder. That accounted for half of the Astros' offense in St. Louis' 4-2 loss.
Jim Edmonds cracked a two-run homer in the fourth for the Cardinals' runs. It was his 12th career homer at Minute Maid Park in 187 at-bats.
--The Cardinals will have to decide whether to call up a catcher for the final three games before the All-Star break. C Yadier Molina suffered a mild concussion after being hit in the back of the head in the second inning by a curveball from Houston RHP Taylor Buchholz.
Molina left the game and was replaced by Gary Bennett, the only other catcher on the roster. Bennett is recovering from an oblique strain.
--RHP Josh Kinney, a rookie pitching for the third time in four days, pitched out of a two-on, no-out spot he inherited in the seventh inning.
--RF Juan Encarnacion had his hitting streak snapped at eight games when he went 0-for-4.
--LF Chris Duncan was 0-for-4 in the second spot and failed to make contact after getting ahead in the count 3-0 in the eighth inning with a man at third and nobody out.
--The Cardinals have lost 13 of 16 games, and have been outscored 121-70 in that stretch.