"We were able to put the ball in play and put pressure on their defense," Jacobs said.
Florida added two more unearned runs in an inning set up by Zimmerman's miscue.
"It doesn't really matter that it was Cabrera, it's hard to let the leadoff guy get on," Zimmerman said. "Especially late in the game, they can bunt ... they have a lot of options."
Johnson hit a 413-foot solo homer to center off reliever Taylor Tankersley (2-1) in the top of the eighth to tie the score 4-4.
"We got a couple of breaks and took advantage of it," Marlins manager Joe Girardi said. "You have to find a way to win that game."
Florida starter Josh Johnson allowed three runs and five hits in seven innings. He walked one and struck out five.
Jason Bergmann gave up four runs and six hits in six innings as the Nationals lost for the fourth straight game. He walked two and struck out three.
"I feel like if I made three better pitches, I'm standing here talking about a win," Bergmann said.
Jacobs hit a two-run homer in the sixth to give the Marlins a 4-3 lead. Cabrera led off with a triple and, one out later, Jacobs hit his 16th homer.
Washington had taken a 3-2 lead in the sixth on Austin Kearns'
18th homer of the season. It was his second with the Nationals.
Ramirez had an RBI single and a solo homer to help the Marlins get their first two runs. His homer was the 16th of the season and fifth leadoff shot.
Before the game, Washington purchased the contract of infielder Henry Mateo from Triple-A New Orleans and designated right-hander Travis Hughes for assignment. ... The crowd numbered 10,260, slightly larger than Monday night's 9,316. ... Borowski pitched for a fourth day in a row for the third time in his career. ... Ramirez stole second in the seventh to became the sixth Marlins player to have 40 stolen bases in a season.