Cardinals ace Adam Wainwright struck out 11 and allowed one run through seven innings, and Jon Jay drove in four runs with a homer and double to lead St. Louis to a 6-1 win over the Cubs on Sunday at Wrigley Field.
Matt Carpenter singled in two runs in the third to help back Wainwright (14-7), who was in command and allowed just five hits and one walk after going 0-2 in his previous four starts.
Junior Lake drove in the Cubs' only run with a double in the sixth.
Wainwright hadn't won since July 21 at home against San Diego and had allowed 14 runs in 28 innings during the span.
On Sunday, he faced only one batter over the minimum through the first five innings and only 26 through seven innings.
Kevin Siegrist and Trevor Rosenthal combined to pitch scoreless eighth and ninth.
Chicago starter Edwin Jackson (7-13) allowed three runs, but only one earned, through six innings. He walked four and struck out three.
Jackson has been stronger in the second half after an 1-8 start. He got little support on Sunday and his defense didn't help when Lake dropped a fly ball in center field for an error in the Cardinals' three-run second inning.
The Cubs have scored just 12 runs in their past eight games at Wrigley Field and have been shut out in five of those contests.
St. Louis catcher Yadier Molina had two doubles in his third game back after two weeks on the disabled list.
Starlin Castro was back in the Cubs lineup a day after being pulled for making a mistake the day before, and had an infield single. Manager Dale Sveum said Castro had atoned for his mistake.
On Saturday, the shortstop dawdled after catching a popup in shallow left field, allowing a run to score and Sveum pulled Castro from the game.
Sveum was thrown out of Sunday's game in the seventh for arguing with plate umpire Phil Cuzzi after Donnie Murphy was called out on a check swing. Sveum yelled from the dugout, then came onto the field to continue the argument following the ejection.
Carpenter's single with two outs and the bases loaded drove in two runs as the Cardinals jumped ahead 3-0 in the second.
With one out, Molina and Jay bounced back-to-back doubles just inside third base to make it 1-0.
Rookie Kolten Wong's deep fly ticked off Lake's glove for an error, putting Wong on second and Jay on third. Following an intentional walk to Daniel Descalso and fly out by Wainwright, Carpenter's hit up the middle drove in Jay and Wong.
The Cubs cut it to 3-1 in the sixth. David Dejesus, who had walked with two outs, scored on Lake's double to the gap.
Jay's three-run homer in the seventh off James Russell, the second of four Chicago relievers, made it 6-1.
DeJesus was thrown out trying to score from third on Anthony Rizzo's fly ball in the eighth.