It was the second start for Cahill (1-7) since being recalled from the Minor Leagues, where he was sent to work out his mechanical and performance issues.
"For the most part I felt pretty good," Cahill said. "I just left some pitches up and a team like that is going to hurt you."
In his first start after the promotion, he allowed three runs in five innings, but he was unable to make it to the fifth this time.
On the plus side, Cahill did not walk a batter. That said, he threw too many hittable pitches.
"He didn't walk anybody today," D-backs manager Kirk Gibson said. "But when we needed him to make pitches, he's missing spots."
The Tigers jumped on him in the second inning when Victor Martinez and Don Kelly collected one-out singles and Alex Avila followed with a two-run double to left-center.
The real damage, though, came in the fourth.
After three straight singles and a sacrifice fly to open the frame, Cahill got Andrew Romine to hit a grounder to second. Hill was unable to pick the ball up cleanly and his throw to Paul Goldschmidt at first was late.
First-base umpire Jim Reynolds initially called Romine out, but the play was overturned after a replay challenge.
Cahill then struck out Anibal Sanchez for what should have been the third out of the inning. Instead, Austin Jackson followed by lining a three-run double to left to put the Tigers ahead, 6-0.
"The fourth, I thought I was close to getting out of it," Cahill said. "Looking back I still feel like I should have been able to pick him up and escape that inning with just that one run."
The D-backs, though, would not go away quietly.
An RBI double by Martin Prado and a two-run homer by Didi Gregorius in the fifth pulled Arizona to within 7-3.
Gerardo Parra drove home a run in the sixth and David Peralta did likewise in the seventh to cut the Tigers' lead to 7-5.
Despite being 14 games under the .500 mark, the D-backs have not quit when they've fallen behind early in games.
"We've been great about that," Gibson said. "I think they felt us coming. We had a good attitude, put some good at-bats against them, got into their bullpen, which we wanted to do."
The D-backs seemingly had a golden opportunity to score more than one run in the seventh when, with runners on first and second, Goldschmidt came to the plate.
Tigers manager Brad Ausmus went to his bullpen at that point and Joba Chamberlain got Goldschmidt to hit into an inning-ending double play.
"Obviously, I knew the situation coming into the game," Chamberlain said. "Goldy's been good for a while, and knows what he wants to do at the plate and has a great idea. Just had to execute a pitch, and we executed a pitch and got exactly what we wanted."
The Tigers then put the game away in the eighth scoring four runs, three on Miguel Cabrera's 15th homer of the year.
Sanchez (7-4) picked up the win allowing five runs on 11 hits over 6 1/3 innings.