Cubs 6, Cardinals 4
Alfonso Soriano drove in the go-ahead run and Bryan LaHair hit a two-run homer as visiting Chicago handed St. Louis its fourth straight loss.
Starlin Castro added two hits, an RBI and a run scored for the Cubs, who have taken four of seven this season from the Cardinals.
It looked like St. Louis would be able to escape without allowing a run in the eighth after turning a rare 3-5-4 double play off a bunt attempt. But Tony Campana reached second on that play and ended up scoring when Soriano sent a single through the left side off Mitchell Boggs (0-1).
Shawn Camp (2-1) got the win in relief and Rafael Dolis pitched a perfect ninth for his fourth save.
Chicago tacked on another run in the ninth when the Cardinals failed to turn another 3-5-4 double play.
Ryan Dempster and Jake Westbrook both entered the game with ERAs below 2.00 but both ran into trouble.
The Cubs broke through first, putting together a four-run rally against Westbrook in the fifth. Castro and Geovany Soto sandwiched RBI singles around LaHair’s ninth homer.
The Cardinals got through against Dempster in the sixth with their own four-run rally. Lance Berkman drove in the first run with a single and Yadier Molina brought in a pair of runs with a double before Skip Schumaker’s RBI single knotted it.
GAME NOTEBOOK: Cardinals outfielder Carlos Beltran (sore right knee) did not start but made a pinch hitting appearance in the ninth. … St. Louis released left-hander J.C. Romero earlier Monday and replaced him with right-hander Eduardo Sanchez. … LaHair has hit four of his nine homers against the Cardinals.