Nick Bjugstad had a goal and an assist, and Lawson Crouse had three assists for the Coyotes (14-25-5), who rallied from two goals down in the third period.
"We're going to play a full 60 minutes no matter what's going on," Arizona forward Travis Boyd said. "It was a big win for everyone in here. I think we've been playing better than some of the results that we've been getting, so now maybe we can snowball this into a bit of a run."
David Perron, Pius Suter and Dylan Larkin scored, and Magnus Hellberg made 20 saves for the Red Wings (18-17-8).
"The frustration is there because the effort is there, the want and the will is there from the group," Detroit coach Derek Lalonde said. "It's just managing the game a little bit better."
The Red Wings, who were coming off a 6-3 loss at the Colorado Avalanche on Monday, have lost three straight and six of eight (2-5-1).
"We probably got a little tired in the third, which is understandable with the back to back," Lalonde said. "We ran into a really good goalie tonight. [We were] a little unfortunate with not being able to finish, but the way we played tonight and three goals on the road should be enough."