Alfonso Soriano and Luis Valbuena each homered as the Chicago Cubs jumped on St. Louis starter Lance Lynn early in a 6-4 victory in front of the season's largest Wrigley Field crowd Saturday night.
Chicago scored in the second, third and fourth innings while St. Louis committed two errors in front of an announced crowd of 42,240 in the third of a four-game weekend series.
The Cubs opened a 3-1 lead in the second inning and were up 6-1 after four while right-hander Matt Garza (6-1) worked 6 2/3 innings for the win.
Cardinals starter Lance Lynn (11-4) departed after 4 1/3 innings. He gave up five earned runs on a season-high 10 hits. He struck out two and walked one.
Garza struck out Carlos Beltran on his 112th pitch of the night but was pulled after giving up a two-out hit to Allen Craig that scored Carpenter.
Right-handed reliever Matt Guerrier entered with a 6-2 lead and got Matt Adams on an inning-ending fly to left.
Garza allowed two earned runs on 10 hits, walked a pair and struck out four.
Blake Parker, Chicago's third pitcher of the night, gave up two hits while an error by right fielder Dave Sappelt loaded the bases with one out in the eighth.
That was it for Parker, and left-hander James Russell came in to face Carpenter and the potential tying run. Carpenter's sacrifice to left scored Jon Jay from third, but Daniel Descalso's fly to center ended the threat.
Jay singled off Cubs closer Kevin Gregg with two outs in the ninth to score Adams, but Pete Kozma grounded out as Gregg notched his 17th save.
Soriano, Starlin Castro, Darwin Barney and Sappelt each had two hits while Valbuena delivered two RBI. Jay went 4-for-5 while Adams had two hits for the Cardinals.
Tony Cruz's RBI single scored Jay from second to give the Cardinals a 1-0 lead in the second inning. Cruz bounced a grounder between Valbuena and Castro into left field with two outs.
The Cubs replied with three runs as they batted around in the bottom of the inning.
Soriano doubled to lead off and scored on Dioner Navarro's single to right as Carlos Beltran's fielding error gave Soriano extra time.
Navarro reached second on a passed ball, moved to third on Brian Bogusevic's fielder's choice and came home on Dave Sappelt's single up the middle for a 2-1 lead.
The Cubs loaded the bases when Barney singled and Garza popped a short infield bunt to reach.
Castro tapped an infield single down the third base line to score Sappelt.
In the third, Soriano clubbed his 16th home run -- ninth since June 28 -- on Lynn's first pitch for a 4-1 lead.
St. Louis had runners on second and third in the fourth and Garza intentionally walked Cruz to load the bases for Lynn, who grounded to second.
Valbuena's two-run homer in the fourth drove home Barney for a 6-1 lead.
Lynn left in the fifth with runners on first and second and one out. Reliever Keith Butler hit Garza with a pitch to load the bases with two but escaped when Valbuena flew out to right.
NOTES: Sunday's series finale features National League wins co-leader Adam Wainwright (12-2, 2.30 ERA) against Cubs left-hander Travis Wood (6-6, 2.69 ERA). ... The season's first half has featured a three-team National League Central chase that's likely to continue in the second half, according to Cardinals manager Mike Matheny. "Cincinnati came in as the favorite and Pittsburgh's for real," he said prior to Saturday's game. "We just have to worry about ourselves and win games." ... CF Jon Jay entered Saturday's game with the National League's longest errorless streak (234 games) for center fielders, dating back to Aug. 24, 2011. ... RHP Jake Westbrook (5-4) likely will take the mound when the Cardinals open the second half Friday vs. the Padres. ... The Cubs claimed OF Cole Gillespie off waivers from the Giants on Saturday. He is a .218 hitter (26-for-119) in 53 games with Arizona (2010-11) and San Francisco (2013). He has spent most of the last three seasons in Triple-A. ... Castro was hitting .299 (20-for-67) with no errors since ending a streak of 269 consecutive games played on June 26.