Travis Wood pitched impressively into the seventh inning to outduel Lance Lynn, Nate Schierholtz hit a two-run homer and the Cubs snapped the St. Louis Cardinals' six-game winning streak with a 2-1 victory Tuesday night.
The Cardinals' streak was their longest since an eight-game run July 11-21, 2010.
Wood (2-3) allowed one run and five hits while striking out eight in 6 2-3 innings for his first win since April 27 at Miami.
Carlos Marmol relieved Wood with two outs in the seventh and pitched 1 1-3 scoreless innings. In the eighth he allowed a single to Yadier Molina and walked Jon Jay before getting out of the inning by picking Molina off between second and third.
Lynn (5-1) was trying to become the National League's first pitcher to win six games.
The Cardinals right-hander pitched seven innings and gave up two runs and four hits while striking out eight.
Last year, Lynn went 6-0 to start the season, earning his sixth victory on May 7.
Schierholtz's two-run homer in the fourth gave the Cubs a 2-1 lead in the rivals' first of 19 meetings this season and opener of a brief two-game series.
Kevin Gregg pitched a scoreless ninth for his fifth save in five opportunities since signing with Chicago on April 15.
The Cubs have won two straight since dropping four in a row.
The Cardinals took a 1-0 lead with no outs in the second inning when Allen Craig hit a 2-2 fastball into the left field bleachers for his second home run of the year. Craig, who hit 22 last season, has two in the Cardinals' last three games.
Entering Tuesday, Craig was 9 for 22 over his last five games with seven RBIs. He had four RBIs Sunday in a win at Milwaukee.
St. Louis had a chance to add to its lead when Matt Carpenter singled and Carlos Beltran doubled with two outs in the third, but Wood got Matt Holliday to ground to short.
Beltran and Molina each had two hits for St. Louis.
Wood earned his first win at Wrigley Field since July 1 when he beat Houston. Over his previous 12 starts at Wrigley, Wood was 0-7 with a 4.58 ERA.
The Cardinals loaded the bases in the fourth but Lynn struck out to end the inning.
The Cubs took a 2-1 lead with two outs in the fourth when Schierholtz hit a 3-1 pitch into deep left-center for his fourth of the season. Alfonso Soriano singled with two outs, before Schierholtz homered for the first time since April 25 at Miami.
Schierholtz's home run was the Cubs' 40th of the season, good for third in the National League, entering Tuesday.