Anthony Rizzo had three hits and Schierholtz ripped a two-run double for Chicago, trying for its second three-game winning streak this season. Instead, the Cubs finished a 4-6 homestand.
"We just can't seem to shut anybody down in the sixth, seventh inning," manager Dale Sveum said. "We're getting two strikes on people, we just can't make a pitch when we have to."
Chicago had 11 hits but grounded into four double plays, one in every inning from the fifth to the eighth. The last one was particularly heartbreaking, with the potential tying run on third.
Four Cardinals relievers combined for 3 2-3 innings of two-hit ball after Jake Westbrook had his worst start this season. Seth Maness (2-0) got five outs to get the win and Edward Mujica worked the ninth for his ninth save in nine opportunities.
"They did a great job," Westbrook said. "They got into a little trouble, but then they found ways to get out of it."
The afternoon game on a picturesque spring day in Chicago attracted 26,354 to Wrigley Field, and fans were treated to a little bit of everything. There were a couple of adventures on the basepaths, a rarely seen 4-2-3 groundout and a bunch of singles — just three of 22 hits were for extra bases. Julio Borbon of the Cubs was called out for interference for running inside the baseline in the seventh.
The Cubs used Schierholtz's two-run double, which caromed off the wall in foul territory and straight out into right field, and a well-placed grounder by Dioner Navarro to take a 4-2 lead in the fourth.
The Cardinals had their infield in with Navarro at the plate, but Schierholtz scored easily. With Molina standing in front of the plate and pointing to first, Carpenter still came home with the throw from second, and the Gold Glove catcher made a strong throw to first to retire the lumbering Navarro.