MIAMI -- Kelly Johnson swung and missed a lot Saturday night. He connected at just the right time, though.
"You want to make them count when you get 'em, so it was good to get a big return on that hit," Johnson said. "I'm glad I could come through there."
|More on D-Backs at Marlins|
Ryan Roberts and Stephen Drew each hit a solo homer in support of Ian Kennedy (7-2), who gave up five runs and eight hits in eight innings.
"I told Kelly I don't want him to be discouraged," Arizona manager Kirk Gibson said. "That was a big, timely hit."
Chris Coghlan, Gaby Sanchez and Mike Stanton homered for Florida. Stanton has gone deep in three straight games.
"I was a little tired at the end. The air is pretty thick here and the offense took care of things," said Kennedy, who threw 113 pitches to make it at least 100 in 11 straight starts.
Javier Vazquez (3-6) was chased in the fourth -- an inning after striking out the side -- when Arizona sent 10 batters to the plate and scored six runs.
Drew began the fourth by hitting his fourth homer to tie it at 2.
Singles by Miguel Montero and Xavier Nady put runners on first and third with one out. Vazquez retired Gerardo Parra on a liner to second but walked Kennedy on a 3-2 pitch to load the bases.
"I know as a pitcher, walking a pitcher is very frustrating," Kennedy said.
Arizona went ahead when Roberts walked to force in a run, then took a 6-2 lead when Johnson doubled over the head of Coghlan in center field. Justin Upton doubled to right-center to make it 7-2 and finish Vazquez.
The right-hander allowed seven runs, seven hits and three walks (one intentional). He struck out six.
"I wish I could explain it," Vazquez said. "Bad pitches, that was the difference."
The Diamondbacks added two runs in the fifth to build a 9-2 lead. Chris Young scored on Brian Sanches' wild pitch, and Parra hit an RBI triple.
"We were in the game until the fourth, but it got away in a hurry," Florida manager Edwin Rodriguez said.
Back-to-back home runs by Sanchez (a two-run shot) and Stanton pulled Florida within 9-5 in the fifth.
"I hung two bad pitches -- a hanging slider and a hanging curveball -- that went a long ways," Kennedy said. "A win's a win, but personally you feel like you could do a little better."
Logan Morrison's run-scoring triple in the third gave Florida a 2-1 lead.
The game started after a 20-minute rain delay, the first this season in Miami. Home runs by both leadoff hitters -- Roberts and Coghlan -- made the score 1-all after one inning.
Arizona had lost four of five. ... The earned runs were the most given up by Kennedy since he allowed nine on April 13 against St. Louis. ... Marlins SS Hanley Ramirez (left back strain) went 3 for 5 with three singles for Class-A Jupiter in a rehab game. He could return when he's eligible to come off the disabled list Tuesday. ... The Marlins were without closer Leo Nunez (back tightness). He's scheduled to throw in the bullpen Sunday and Monday in hopes of being ready Tuesday at Philadelphia. ... Arizona RHP Esmerling Vasquez began serving a two-game suspension for throwing at Washington's Danny Espinosa on June 5.