Miami got on the board first against Cubs starter Jeff Samardzija in the third, as Christian Yelich took a high fastball to center field for his sixth home run of the season, giving the Marlins a one run edge.
But after the Marlins took the lead, Samardzija singled against Randy Wolf in the bottom of the third, and Emilio Bonifacio hit a two-run home run to right field to make it a 2-1 contest.
Starlin Castro followed a Anthony Rizzo single with a double to left field, but Rizzo was thrown out at home on a solid play on the parts of Christian Yelich and Adeiny Hechavarria.
Junior Lake homered against Wolf in the bottom of the fifth to give the Cubs a two run lead, but Casey McGehee scored Giancarlo Stanton with a ground ball to first base in the sixth to make it a 3-2 game.
A wild pitch that allowed Castro to score in the sixth ended Wolf's afternoon. In five and two third innings, Wolf gave up nine hits and four runs while walking one and striking out a pair.
Lake hit his second home run against Chris Hatcher in the bottom of the seventh to give the Cubs a three run edge. Samardzija went seven innings, giving up two runs while striking out seven.
Bryan Morris added a scoreless inning in relief, but the Marlins couldn't score late as they did on Friday night.
Hero of The Game: Christian Yelich (+.120 WPA)
Goat of The Game: Randy Wolf: (-.230 WPA)
Play of The Game: Emilio Bonifacio homered. Jeff Samardzija scored. (+.220 WPA)