CHICAGO -- Jorge Soler and Kris Bryant hit back-to-back homers to start the fifth inning, and the Chicago Cubs bullpen pitched 6 1/3 innings and held off a late rally to beat Michael Wacha and the St. Louis Cardinals 5-4 on Saturday for their fifth straight win.

Chicago is five games behind NL Central-leading 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, tying the Cubs record for a rookie set by Billy Williams in 1961.

More from FoxSports

Cubs pitchers hit St. Louis batters three times. After Hector Rondon plunked pinch hitter Greg Garcia to start the ninth, both he and manager Joe Maddon were ejected.

Trevor Cahill (1-3) pitched 3 1/3 scoreless innings in relief of starter Travis Wood.

Wacha (16-6) allowed four runs in five innings.

The Cardinals closed a 5-1 deficit to 5-4 with three runs in the ninth inning.