Yadier Molina capped a 4-for-6 night at the plate with a three-run homer in the ninth, as the NL-leading St. Louis Cardinals used a 21-hit attack to beat the Chicago Cubs, 10-6, in the finale of a four-game series.
Pete Kozma went 3-for-6 with two RBI and a run scored for the Cardinals (57-36), who head into the All-Star break with a one-game lead over the Pirates in the NL Central.
Allen Craig, Matt Adams, Matt Carpenter and David Freese added an RBI apiece for the Cardinals, who went 8-for-16 with runners in scoring position but also stranded 15 men on base.
St. Louis starter Adam Wainwright, who was named to his second All-Star team, allowed four runs on eight hits over six innings. Edward Mujica (2-1), who was selected to replace Wainwright on the NL All-Star roster, tossed 1 1/3 scoreless innings of relief to pick up the win.
Darwin Barney hit a three-run homer and knocked in four runs for the Cubs (42-51), who sit 15 games behind the Cardinals. Cody Ransom had two RBI.
Chicago starter Travis Wood, who was named to his first All-Star squad, gave up three runs on 10 hits over 5 2/3 frames. Kevin Gregg (2-2) allowed four runs in the ninth to take the loss.
"The command of all my pitches was there," Wood said. "They put together some good swings and put hits together. They kept hitting balls and manufacturing runs. That's what good teams do."
The Cubs sent Gregg to the mound in the ninth with the game tied at six. With one out, Carlos Beltran hit a double off the wall in right and advanced to third on Dave Sappelt's fielding error. Craig followed with an RBI single to left. After Freese singled, Molina smacked Gregg's offering over the wall in left to make it 10-6.
"We never give up," Molina said. "Whatever happens in the game or the inning before we're going to come after you."
The Cardinals got on the board in the first inning. Beltran and Craig hit consecutive one-out singles, and after Freese popped out, Molina hit an RBI single up the middle.
The Cubs tied the game in the second. Sappelt hit a two-out double to left- center field in front of a diving Craig. Barney followed with an RBI single up the middle.
St. Louis tacked on another run in the third. With two outs, Molina and Adams hit back-to-back singles to put men on the corners. Kozma followed with a perfect bunt single down the third-base line to score Molina. Wainwright popped out to end the inning.
The Cardinals scored another run in the fourth. Craig hit a two-out double down the left-field line and Freese followed with an infield single to plate Craig, making it 3-1.
Barney's homer in the sixth gave Chicago the lead. Dioner Navarro and Brian Bogusevic singled with one out. After Sappelt struck out swinging, Barney just cleared the wall in left to make it a 4-3 contest.
The back-and-forth battle continued in the seventh when the Cardinals scored a pair of runs. Matt Guerrier gave up a leadoff double to Molina, who advanced to third on Adams' groundout and scored on Kozma's bloop single to shallow left field. Two batters later, pinch-hitter Daniel Descalso singled to right to put men on the corners. James Russell came in from the bullpen and Carpenter greeted him with an RBI single to center.
St. Louis scored another run in the eighth. With Blake Parker on the mound, Freese reached on a fielder's choice and raced home on Adams' double to left- center field to give the Cards a two-run cushion.
The Cubs quickly responded in the bottom half, however, to tie the game at six. Pinch-hitter Cole Gillespie and Barney singled to put men on first and second with two outs. Mujica came in from the bullpen and gave up a two-run double to pinch-hitter Ransom.
The Cubs went 3-for-9 with RISP and stranded seven ... Barney had three hits ... Prior to Sunday's game, Chicago added Gillespie to the active roster and designated pitcher Henry Rodriguez for assignment.