CHICAGO -- Jorge Soler and Kris Bryant hit back-to-back homers, and tempers flared for the second straight game as the Chicago Cubs beat the St. Louis Cardinals 5-4 on Saturday for their fifth straight win to tighten the NL Central race.
Chicago is five games behind first-place St. Louis, which got a two-run homer from Matt Carpenter in the ninth. The Cubs entered the contest one game behind Pittsburgh for the top NL wild-card spot.
Bryant's drive into the last row of the left field bleachers gave him 25 homers and tied the Cubs record for a rookie set by Billy Williams in 1961. Bryant, who sparkled at third base, also drove in a run with a double and scored in the first as he went 2 for 3 with a walk.
Soler went deep for the first time since missing 23 games with a left oblique strain. Starlin Castro, who had six RBIs on Friday, and Tommy La Stella also drove in runs for Chicago.
Cubs pitchers hit St. Louis batters three times. After closer Hector Rondon plunked pinch-hitter Greg Garcia to lead off the ninth with Chicago leading 5-1, both he and manager Joe Maddon were ejected.
And that nearly sparked a St. Louis comeback.
Carpenter homered off Zac Rosscup to cut it to 5-3. Tommy Pham and Jason Heyward followed with singles, but Pedro Strop got the final three outs -- including a sac fly by Yadier Molina that trimmed it to 5-4 -- for his third save.
Shortstop Addison Russell ended it by diving up the middle to grab Stephen Piscotty's grounder and flipped to second to force out Heyward.
After St. Louis' Kolten Wong was hit for a second time in the eighth, plate umpire Bruce Dreckman issued a warning.
Maddon used eight pitchers in a patchwork effort to cover for an empty spot in Chicago's rotation. The second pitcher, Trevor Cahill (1-3), entered with two outs in the third and earned his first win with the Cubs by pitching 3 1-3 scoreless innings.
Michael Wacha (16-6) had won five of his previous six decisions, but gave up four runs -- on six hits and four walks -- in five innings.
The Cardinals' magic number to clinch a fifth straight postseason berth remained at one.
Maddon's ejection came after the manager called the Cardinals a "vigilante group" Friday night. He was upset when Cubs first baseman Anthony Rizzo was hit with a pitch by Matt Belisle in Chicago's 8-3 win. Dan Haren had hit Cardinals slugger Matt Holliday in the head with a pitch in the fifth.
Cardinals: OF Matt Holliday suffered only a bruise when he was hit by Haren, Matheny said. But Holliday continues to improve slowly from a right quadriceps strain that sidelined him for 41 games. He ran the bases before Saturday's game, but was available only off the bench. "We've had some significant steps forward and times where we've just had to pause until more healing happens," Matheny said. . C Yadier Molina started Saturday after being rested for two games.
Cubs: Soler was back in the starting lineup in right field for the first time since going on the DL on Aug. 24 and batted second. He struck out Friday as a pinch hitter in his first appearance since returning.
St. Louis RHP Carlos Martinez (13-7, 3.02) faces LHP Jon Lester (10-10, 3.38) in the series finale on Sunday. Martinez hasn't won since Aug. 27 and is 0-1 with two no-decisions in his last three starts. Lester is coming off his first complete game as a Cub, a 2-1, five-hit gem at Pittsburgh last Tuesday.