The Cubs were trailing 4-2 in the eighth when Welington Castillo and Nate Schierholtz each drew walks from Trevor Rosenthal (1-3) to begin the inning.
Pinch-hitter Dioner Navarro then gave Chicago a 5-4 lead with another two-bagger and Schierholtz added a much-needed insurance run with an RBI single in the ninth.
Castillo socked a solo homer for the Cubs, who clinched their three-game series.
Holliday also belted a three-run shot for the slumping Cardinals, who dropped a fourth straight.
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need