PHOENIX (AP) -- Aaron Hill drove in Arizona's first three runs and ended the game with a spectacular play.
Even when he's struggling, that's the kind of performance the Diamondbacks have come to expect.
Hill provided the early scoring and followed Miguel Montero's two-run single in the eighth inning with a game-ending diving stop, helping the Diamondbacks rally for a 5-4 win over the Detroit Tigers on Tuesday night.
"He's played great, the last play of the game was outstanding," Diamondbacks manager Kirk Gibson said. "He's been working hard out there and I've said you get validation for your hard work."
Hill, who's hitting .251, got Arizona started with three RBIs in the first five innings to put Arizona up 3-2.
The Diamondbacks lost the lead in the eighth when Torii Hunter lined a two-run single up the middle off Brad Ziegler.
Eury De la Rosa (2-0) got the final two outs in the inning and Arizona rallied when Phil Coke (1-2) walked two in the bottom half after being hit by a line drive. The Diamondbacks loaded the bases on a two-out walk and Montero came through with his single up the middle off Ian Krol to put Arizona up 5-4.
Detroit had a final chance after Addison Reed pitched around Miguel Cabrera to walk the slugger in the ninth, but Hill, the second baseman, ended the game by ranging into the outfield grass for a diving stop to throw out Don Kelly by a step.
David Peralta tied a team record with two triples and Reed had his 24th save for Arizona, which has won five of six home games.
"It was a great win," Montero said. "We battled, they battled us well and it was a really exciting game."
The ninth inning wasn't Detroit's only chance. The Tigers stranded eight runners and failed to score again in the eighth with the bases loaded and one out.
"You get bases loaded and one out you hope you get a run across somehow," Tigers manager Brad Ausmus said. "We had an opportunity to blow the game open, but it didn't happen."
Arizona starter Chase Anderson won his first five starts and lost the next four before allowing a run on seven hits in six innings to beat Miami his last outing on July 7.
The rookie right-hander wasn't nearly as sharp against the Tigers, though he was still effective after a 10-day layoff.
He allowed run in the first inning on Miguel Cabrera's run-scoring single and another on a wild pitch in the third after crossing up his signals with Montero. Anderson worked around baserunners over the next three innings, but didn't give up another run against the AL's best-hitting team.
He allowed two runs and five hits and struck out five in six innings in his first start after a long layoff.
"I wouldn't say I was a little rusty, but I'm a routine-oriented person," Anderson said. "Starting pitchers are used to pitching every five days, so I would say I was a little off."
Detroit's Rick Porcello bounced back from a rough outing by holding the Royals to a run in seven innings his previous outing.
His main trouble against the Diamondbacks was their top two hitters, Peralta and Hill.
Hill hit a solo homer in the first inning, his eighth of the season. Peralta hit triples in the third and fifth inning, setting up Hill for a sacrifice fly and an RBI groundout that put Arizona up 3-2 in the fifth.
Porcello was good against everyone else, allowing five hits and three runs with five strikeouts.
"I didn't walk anybody, I was getting ahead for the most part," Porcello said. "A mistake in the first inning (Hill's homer) and leaving a couple of balls up out over the plate for Perralta to be able to drive in the gaps. Those triples really hurt."
NOTES: Peralta is the fifth Arizona player to have two triples in a game and second rookie, joining Robby Hammock, who did it June 8, 2003, against Cleveland. ... Cabrera has 36 RBIs in 40 career games against Arizona. ... Arizona RHP Trevor Cahill will pitch Wednesday against the Tigers, his second since returning from the minors. He allowed three runs in five innings against the Chicago Cubs in a no-decision on July 18. RHP Anibal Sanchez pitches for Detroit.