Rich Harden struck out 10 for the third time in three starts with Chicago, but the Marlins fought back to win despite striking out 20 times.
Hermida, who had three hits and two RBI, has five homers in eight games. A day after delivering a pinch-hit homer in the ninth inning to complete Florida's 3-2 comeback victory, Hermida homered leading off the eighth against Sean Marshall to tie the score at 2.
Hermida then doubled with two outs in the 12th off Chad Gaudin (0-1) and scored on Cantu's double down the left-field line, giving the Marlins their NL-leading 30th comeback win.
"This is as close to a playoff atmosphere as we've had all year," Hermida said. "To come in here and take two out of three and have a chance to take the series tomorrow is definitely big for us. It proves to people that we can play with these guys and we can play with anybody in the National League."
Florida entered the day tied for second in the NL East, two games behind the New York Mets. The Marlins begin a three-game series against New York on Monday.
"This team is hungry to keep winning," Cantu said. "Everyone wants to take it to the next level and make the postseason."
Chicago lost for the just the fourth time -- and second in two days -- after taking a lead into the seventh. The Cubs also dropped consecutive home games for the first time since the season's opening series.
Aramis Ramirez homered and drove in two runs, but the Cubs never scored after his third-inning solo shot gave them a 2-1 lead.
"If we continue to swing the bats like this the rest of the year, we ain't going to win that many," manager Lou Piniella said. "I'm sure we're going to come out of this, but let's come out of it sooner than later."
Chicago has failed to scored more than two runs in four of six games, and the frustration was evident. Piniella and Cubs first base coach Matt Sinatro were ejected in the bottom of the ninth for arguing a call at first base.
Sinatro was immediately tossed after questioning the call, then Piniella came out of the dugout and was ejected for the second time this year.
"I went out there to get my coach off the field," Piniella said. "The only thing I mentioned to the umpire was, 'Why are you so antagonistic?' And that's what he kicked me out for."
Five Marlins relievers combined for six scoreless innings.
Chris Volstad, making his third career start, scattered six hits and allowed two runs in six innings. He struck out six and walked two.
The Cubs again failed to support their big midseason acquisition, Harden.
The right-hander is 0-1 in three starts since being traded from Oakland to Chicago on July 8 -- despite giving up only two runs in 17 1/3 innings. He allowed two hits in five innings, becoming the first pitcher in Cubs history to strike out at least 10 in each of his first three starts.
"The guy doesn't give up any runs and doesn't get a win," Chicago first baseman Derrek Lee said. "You feel a little bad for him. But I have a feeling he's going to be good the rest of the way and we'll get him a few wins."
Harden allowed just one run -- a third-inning solo shot by Hermida -- and left with a 2-1 lead.
Marshall took over in the sixth, pitching two scoreless innings before allowing Hermida's homer in the eighth.
- Florida 2B Dan Uggla snapped an 0-for-19 slump in the fourth with a double.
- Plate umpire Gerry Davis left in the bottom of the second after being hit with a pitch. Davis was struck in the chest by a high fastball from Volstad. Davis walked off the field with Cubs trainers, then was replaced by second base ump Bruce Dreckman after a short delay.
- Dominic DiAngi, the 8-year-old boy whose skull was fractured by Ted Lilly's foul ball on July 10, threw out the first pitch. DiAngi has returned to living a normal life after spending six nights in the hospital, but his mother said he's still having difficulties with his speech and memory.
- Cubs 2B Mike Fontenot was moved up to the fifth spot in the batting order and went 1-for-2 with a walk.
- Notre Dame football coach Charlie Weiss sang Take Me Out To The Ball Game during the seventh-inning stretch and was booed when he was introduced.