First baseman Albert Pujols' 300th career homer, off the left-field foul pole, brought the Cardinals to one run down in the eighth. But third baseman Troy Glaus, who thought he had walked in the ninth on a 3-1 pitch that seemed outside, according to replays, then was called out on strikes.
Catcher Yadier Molina, who hit safely in his 11th straight game, later singled, but manager Tony La Russa openly was not happy after the game with umpire Ted Barrett's verdict on the Glaus at-bat.
Instead of being only 1 1/2 games behind division-leading Chicago in the National League Central, the Cardinals are 3 1/2 behind the Cubs and only one game in front of third-place Milwaukee.
While Pujols became the fifth fastest to 300 homers in his career, right-hander Jason Isringhausen appeared in his 600th game. Isringhausen recorded one strikeout in a scoreless ninth, fanning former Cardinal Jim Edmonds, who went down on strikes three times.
The Cardinals had five at-bats with men in scoring position, failing on all five.
CUBS 2, CARDINALS 1: The Cardinals continued to have their troubles winning at home. They have dropped six of their last eight games at Busch Stadium Friday and haven't led for any inning in the last two losses, which have come in succession.
NOTES AND QUOTES
--INF Aaron Miles' hitting streak was snipped at 15 games when he went 0 for 4.
--C Yadier Molina, who had two of the Cardinals' six hits, is batting .366 (15 for 41) in his 11-game hitting streak.
--LHP Randy Flores, on the disabled list with a left ankle ailment, threw in the bullpen before the game and may be ready for a minor league rehabilitation assignment shortly.
--The Cardinals had won their last eight games on July 4 before losing on Friday.