Ryan Dempster pitched four-hit ball over eight scoreless innings, and the Chicago Cubs overcame another shaky performance by closer Carlos Marmol to beat Florida 2-1, snapping the Marlins' season-high, six-game winning streak on Friday.
Dempster (7-6) struck out nine without a walk in his best outing of the season, and the Cubs won for the third time in nine games.
The Cubs turned to Marmol in the ninth, after his meltdown on Thursday, and he didn't make it out of the inning again.
Marmol closer came in to boos after he walked four of five batters he faced Thursday night and failed to record an out. The Marlins scored six in the ninth to win that one 6-3 and they nearly pulled off another comeback on Friday.
Marmol's latest troubles began when he walked Omar Infante on four pitches to start the inning.
He caught a break with one out when center fielder Marlon Byrd threw out Hanley Ramirez, who was trying to stretch a single into a double. But Logan Morrison lined an RBI single to right, cutting Florida's deficit to 2-1.
Sean Marshall relieved Marmol and struck out Mike Stanton to end the game, giving him two saves in four chances.
The Cubs took a 2-0 lead in the fourth inning when Infante misplayed Alfonso Soriano's pop fly to second base, allowing Carlos Pena and Byrd to score.
That was just enough for Dempster and the Cubs.
The veteran right-hander dominated, and there were no apparent blowups this time at manager Mike Quade like the one last week in Pittsburgh when Dempster was lifted after five innings.
Ricky Nolasco (6-6) pitched about as well as Dempster but took a tough loss.
Nolasco allowed two unearned runs and seven hits, and struck out seven and walked one in seven innings. It was another strong performance following his complete-game win over Houston on Saturday. He also doubled off the wall with two outs in the third, but the Marlins couldn't do much against Dempster.
Nolasco ran into trouble in the fourth when Pena singled with one out and Byrd doubled, but he struck out Geovany Soto and should have gotten out of the inning when Soriano popped up.
Infante raced out toward right field, and slowed as Stanton came in. The ball appeared to tip his glove and fell in for an error, allowing both runners to score.