CHICAGO (AP) -- Yadier Molina hit a three-run homer in St. Louis' four-run ninth inning, and the Cardinals beat the Chicago Cubs 10-6 on Sunday night in the majors' final game before the All-Star break.
Allen Craig lined a tiebreaking RBI single into left field before Molina drove an 0-2 pitch from Kevin Gregg (2-2) over the wall in left for his seventh homer. Craig and Molina tuned up for Tuesday's game in New York with four hits apiece, helping St. Louis to a season-high 21 hits overall.
Chicago went up 4-3 on Darwin Barney's three-run homer in the sixth and pinch hitter Cody Ransom had a tying two-run double in the eighth, but the Cubs' bullpen was unable to hold off the NL's highest-scoring team.
Pete Kozma had two RBI singles as the Cardinals won for the seventh time in nine games to salvage a split of the four-game series. Edward Mujica (2-1) had his second blown save opportunity in 28 chances, but managed to get the win on the same day he was chosen to replace teammate Adam Wainwright on the NL All-Star team.
Despite injuries to key pitchers Chris Carpenter, Jaime Garcia and Jason Motte, St. Louis heads to the All-Star break with baseball's best record at 57-36. It leads the NL Central by one game over surprising Pittsburgh, which lost 4-2 to the New York Mets earlier in the day.
Barney also had a run-scoring single for the Cubs, who went 6-4 on a 10-game stretch in Chicago that included a makeup game at the crosstown White Sox last Monday. The four RBIs for Barney matched a career high set in a 14-4 victory against Pittsburgh on July 30, 2012.
After a slow start, the Cubs (42-51) are a respectable 24-21 in their last 45 games. It's good enough for a four-game improvement compared to last year at this point, when the North Siders were 38-55 on their way to their first 100-loss season since 1966.
The Cardinals carried a 3-1 lead into the sixth, but Wainwright got into trouble after Alfonso Soriano began the inning with a fly ball to the warning track in right. Dioner Navarro and Brian Bogusevic then hit consecutive singles to put runners on first and second.
Wainwright bounced back to strike out Dave Sappelt, but his first pitch to Barney was up and over the plate, and he drove it into the basket in left field for his sixth homer.
That proved to be just a minor little speed bump for the Cardinals, who used four hits to regain the lead during a two-run seventh. Kozma singled in Molina to tie it at 4 and eventually came around on Matt Carpenter's bouncer into center field.
Adams tacked on an RBI double in eighth, setting the stage for the wild finish.
Travis Wood, who will represent the Cubs at the All-Star festivities, allowed three runs and a season-high 10 hits in 5 2-3 innings. It matched the shortest outing of the year for the consistent lefty, who pitched at least six innings in 17 of his first 18 starts.
Molina was out of the starting lineup for St. Louis' 6-4 loss on Saturday night and began the night in a 1-for-19 rut covering his previous seven games. But he singled in each of his first two at-bats and forced Bogusevic to make a leaping catch against the wall in center in the eighth.
NOTES: Cardinals OF Matt Holliday (right hamstring tightness) missed his third consecutive game. "We need to be real careful so we can continue to progress, make sure we are aiming for that first day after the break," manager Mike Matheny said. ... OF Cole Gillespie joined the Cubs, and reliever Henry Rodriguez was designated for assignment to make room on the roster. Gillespie was claimed off waivers from San Francisco on Saturday. He had a pinch-hit single in the eighth. ... Cubs RHP Scott Baker allowed four runs and six hits in three innings in his first rehab start with Class A Kane County. Baker missed last season with Minnesota after undergoing elbow-ligament replacement surgery. "Today was a big hump, to pitch against hitters and getting in a real game and the whole atmosphere and everything," Cubs manager Dale Sveum said, "and then hopefully we just start seeing gradual pickup in the velocities and all that."