The Cardinals failed to get a run for the second straight day after outscoring opponents 46-17 during an eight-game winning streak. Albert Pujols was hitless in eight at-bats in the two losses, both coming in uncomfortably hot, humid conditions.
Wells (5-7) allowed five hits - one single in each of the second through sixth innings
- and struck out seven. It was the polar opposite of his performance against the Cardinals on May 28, when he gave up hits to the first six batters and left trailing 5-0.
Wells, who has a 1.30 ERA in his past five starts after compiling a 5.21 mark in his first 15 outings, has allowed no runs in his past two games.
The biggest threat came in the sixth, when Jon Jay singled, went to second on Pujols' grounder and advanced on Wells' errant pickoff attempt. Wells then struck out Matt Holliday and got Colby Rasmus to pop out.
Sean Marshall wrapped up Chicago's first shutout since June 13 with two hitless innings.
Jeff Suppan (0-6) allowed five runs and 10 hits in six innings. He fell to 0-4 since rejoining the Cardinals last month after Milwaukee released him. St. Louis is 39-22 in games started by Adam Wainwright, Chris Carpenter and Jaime Garcia but 15-21 otherwise.
Not only did Suppan's teammates fail to score, they also made defensive mistakes leading to three Chicago runs.
The Cubs already led 2-0 in the fifth when St. Louis second baseman Skip Schumaker botched a double play relay. Soriano then lined a homer into the left-field bleachers. In the sixth, nobody caught Starlin Castro's infield pop, which fell for an RBI single.
Colvin opened the game with his first career leadoff homer. He is the first left-handed-hitting Cubs rookie with 14 home runs since Rafael Palmeiro in 1987.