MIAMI -- The Arizona Diamondbacks started fast and held on late.
All five runs in the game were scored in the first inning.
"We hit some balls hard with three runs and then they scored two in the first and our pitching shut them down," Diamondbacks manager Kirk Gibson said.
Marlins starter Brad Hand (2-5) allowed three runs in seven innings.
The Marlins, trailing 3-2, loaded the bases in the seventh, but Matt Stites got Donovan Soloano to ground into a fielder's choice to end the scoring threat.
The Marlins threatened again in the eighth, but Jarrod Saltalamacchia bounced into an inning-ending double play, one of four turned by the Diamondbacks.
"They hurt us tonight for sure," said Marlins third baseman Casey McGehee, who grounded into two of the four. "It's going to happen from time to time, but it doesn't make you feel any better about it."
Pennington hit his first homer since May 1, 2013, against San Francisco, and Hill added a two-run shot, his 10th of the season.
"I'm going up there just looking for something up," Hill said. "I typically don't swing at the first pitch, but it worked out and it ended up being all right."
"That's the beauty of the big leagues," Marlins manager Mike Redmond said. "Both teams come out swinging the bats and then zeroes the rest of the way."
Diamondbacks rookie Ender Inciarte extended his hitting streak to 15 games with a single in the fifth.
Marlins: RHP Henderson Alvarez is expected to rejoin the rotation on Saturday after missing two starts with right shoulder inflammation.
"He threw a bullpen the other day and he looks great," Redmond said. "...Whatever stillness he had is gone and he's ready to go."
Diamondbacks LHP Wade Miley (7-8, 4.61) will oppose Alvarez (8-5, 2.48), who is 5-2 with a 1.48 ERA at home. Miley is 2-1 with a 0.89 ERA in three career starts against the Marlins.
SHOW AND GO
With the Diamondbacks in the middle of a season-high, 10-game road trip, which included a pair of long nights in Cleveland, Gibson elected to give his team extra time off before the game. The team showed up just two hours before game time and did not partake in batting practice.
"Experience just tells you that it's something smart to do," Gibson said. "Mentally it's a good lift for them to give them a little extra time to chill out and do some other things and not overthink things."
The plan is the same for Saturday, which excited the players.
"It's funny, you should have heard the reaction from everybody when (director of team travel) Roger (Riley) yelled it was show and go," Hill said. "We obviously can't do it every day, but on a long road trip. It's funny how a bunch of grown men get excited about the little things."
Marlins RHP Anthony DeSclafani was optioned to Triple-A New Orleans to make room for Alvarez, who will be reinstated from the disabled list on Saturday.