MIAMI -- Arizona starter Daniel Hudson spent most of Sunday afternoon getting himself in and out of trouble.
"I just couldn't seem to get that third out of the inning a bunch of times," Hudson said, "but I was able to throw some pitches when I needed to with guys on base."
Hudson (7-5) won for the seventh time in eight decisions since starting the season 0-4. He gave up eight hits with three walks and seven strikeouts. Hudson gave up a hit after retiring the first two batters in four of the first six innings.
He left the game with a 4-0 lead after Florida loaded the bases with no outs in the seventh. Hudson had singled in the top of the inning, but had to sprint to first base to beat the throw from right fielder Mike Stanton.
"I told him, 'Hey, you don't have to run that hard,' " said Arizona manager Kirk Gibson. "Then he ran hard on a double play ball, so I think after that he was pretty much toast."
David Hernandez got out of the seventh inning allowing only one runner to score, and he was followed by two other Arizona relievers.
"We were right in the meat of their order, so he did a great job in an inning and two-thirds," Gibson said of Hernandez. "It was big."
Drew hit a two-run double in the first inning and Ryan Roberts homered for the second consecutive game for the Diamondbacks, who have taken two of the first three of a four-game series that wraps up Monday.
Hitting cleanup, Drew was the only left-handed batter for Arizona against lefty starter Brad Hand.
"Stephen had an awesome day out there today," Gibson said. "He came through for us again today in that No. 4 slot. That's what you want from your No. 4 guy."
The Marlins lost for the 10th time in 11 games, falling to .500 for the first time since they were 5-5.
Florida had at least one hit in every inning but left 13 runners on base. The Marlins have stranded 98 runners in their past 11 games, batting .149 (14-for-94) with runners in scoring position during that span. They were 0-for-12 on Sunday.
"The timely hitting is not there," manager Edwin Rodriguez said. "We're failing with runners in scoring position. But we're battling there. I'm sure if they keep pushing the way they're doing right now that we're going to get out of this.
"There's not too many options. Yeah, I can shuffle the lineup; I already did that. They have to go out there and keep battling and everything else will start going our way."
Hand (0-2) struggled in his second major league start after holding Atlanta to one hit in six innings in his debut Tuesday. He pitched five innings and gave up four runs, three of them earned, on five hits and five walks.
Stanton, who had homered in the previous three games, came up with runners on first and second in his first four at-bats but popped out three times and struck out against Hernandez in the seventh.
Stanton went 3-for-3 against Hudson when the teams met in Arizona on June 1.
"I threw some good pitches to him last time but he just put some good swings on the ball," Hudson said. "I left a few pitches out over the plate, so I really wanted to get inside on him today. It's nice when you can hold his bat in check."
Hand walked two before Drew ripped a double into the right-field gap.
Roberts added his 10th home run in the third, and Arizona made it 4-0 later in the inning on a sacrifice fly by Xavier Nady. Gerardo Parra's pinch-hit double in the ninth drove in Arizona's final run.
Florida rookie RHP Steve Cishek pitched the seventh and eighth and extended his club record for most consecutive scoreless innings at the start of a career to 14 2-3. ... Florida 3B Greg Dobbs, who entered the game in a 6-for-31 slump, went 0-for-4 with three strikeouts. ... Arizona RHP Esmerling Vasquez served the second of a two-game suspension for his actions June 5 against Washington. He was ejected for hitting a batter after warnings had been issued. ... Arizona RHP Sam Demel, who is on the disabled list with a shoulder injury, had a bullpen session cut short Sunday when he couldn't get loose. Demel, who then threw from flat ground, is scheduled to throw in the bullpen again Tuesday.