CHICAGO _ Slumping slugger Anthony Rizzo didn't start Monday night in the latest saga of the Cubs' scoring woes.
Rizzo, who is batting .177 and went 3-for-14 against the Cardinals, was replaced by Victor Caratini at first base.
But the Cubs provided ample power to compensate for Rizzo's absence as they coasted to a 14-2 victory over the Marlins and snap a five-game losing streak.
Ian Happ hit a pair of home runs and drove in five runs as he became the first Cubs player to hit home runs from both sides of the plate since Dioner Navarro against the White Sox on May 29, 2013.
Kris Bryant continued his power surge by smacking a two-run home run in the first inning, and Javier Baez hit a three-run shot in the third for his 10th homer.
Bryant's homer off left-hander Jarlin Garcia was his third in five games and his fifth of the season. It also snapped a streak of 13 consecutive solo homers hit by the Cubs.
Baez's 10th homer bounced in and out of the basket above the center-field wall, but Baez left the game with one out in the top of the seventh due to right groin tightness.
Ben Zobrist, batting second, reached base on a walk and single ahead of each homer.
Happ hit a two-run shot off Garcia, who had a 1.09 ERA, into the shrubs behind the center-field wall in the fourth. Happ's three-run homer in the seventh off Tyler Cloyd landed in the left-field seats
Addison Russell chipped in with a two-run double in the fifth.
Kyle Hendricks pitched eight innings of six-hit ball.