Chicago, which is getting contributions from some unlikely sources, won its fifth straight game for the first time since May 26-31, 2013.
In his last outing, Samardzija gave up eight runs over three innings to the Brewers in his shortest start since moving to the rotation. He had entered that game at Miller Park leading the Major Leagues in ERA. On Saturday, Samardzija was more efficient and effective, scattering five hits and walking one. It was his 10th quality start in 13 outings.
"I just put the last one behind me," Samardzija said. "That was a trap waiting for me. I had just come off a win, and I'd battled so hard to get that first win, and all of a sudden I ran into the fan known as the Brewers at their place. I didn't have my best day and they jumped all over it.
"The way I've been throwing all year, it was easy for me to throw [the Milwaukee game] aside," Samardzija said. "It felt good to go out there today and do my job, especially after times like that. It's the most important thing to bounce back."
And be consistent, which is Samardzija's goal.
"He was good," Miami manager Mike Redmond said. "It looked like he was a little squirrely at times, but he made pitches when he needed to. We never really had a chance to get any momentum going."
The Marlins did strike first. With one out in the third, Christian Yelich launched a 1-0 pitch from Samardzija into the basket rimming the outfield wall in center for his sixth home run. It was only the 38th homer off Cubs pitching this year, fewest in the Major Leagues.
Samardzija singled with one out in the Chicago third -- and is now two hits shy of matching his career high of seven -- and Bonifacio followed with his first home run of the season -- and first since last July 30 -- to go ahead 2-1.
Bonifacio isn't supposed to hit home runs. According to Elias, his blast snapped a streak of 412 at-bats without one, the longest active streak in the Majors among position players.
"Any Major League hitter has the strength and ability to drive the ball out of the ballpark," Cubs manager Rick Renteria said. "You don't expect it out of 'Boni' because you don't look for him to get homers."
The Cubs do expect home runs from Lake, who made it 3-1 with his seventh, launching a 2-1 pitch from Marlins starter Randy Wolf into the bushes in straightaway center field with two outs in the fifth.
The Marlins closed to 4-2 in the sixth when Giancarlo Stanton came home on Casey McGehee's groundout. But Starlin Castro doubled to lead off the Cubs half, moved up one on a flyout by Justin Ruggiano and scored on a wild pitch by Wolf.
Lake, who was 2-for-16 in his last four games, hit his second home run with two outs in the seventh off Chris Hatcher.
Lake and Castro spent a lot of time on the field prior to the game working with hitting coach Bill Mueller. The goal, Castro said, is to keep feeling good at the plate.
"Every time I want to work, I take Junior with me," Castro said.
Lake is trying not to open too quick with his swing.
"It doesn't matter if I swing hard -- I just have to see the pitch," Lake said.
It was Lake's second career two-homer game -- he also did so last Aug. 1 against the Dodgers -- and he has set a career high in homers for the season. Lake belted six last year in 236 at-bats.
Renteria will look at all the numbers at the end of the season. He's focused on how the team is playing, and he likes what he's seen over the last five games.
"The reality is the confidence is there, but we all understand that every single day you go out there, you've got to play the game," Renteria said. "You don't want to get too high, and ride it as long as you can, pick each other up, keep believing in each other. In the long run, hopefully, it's something that's sustainable and we keep moving forward."