Cogliano and Ryan scored within the first 2 minutes of the third to break a 2-2 tie and send the Ducks on their way to their first win at Joe Louis Arena since 2008. Cogliano added an empty-net goal in the closing seconds.
Corey Perry and Matt Beleskey scored in the second period and Rookie Viktor Fasth turned in 26 saves and improved to 7-0-0.
Detroit's Jimmy Howard made 32 saves in the Red Wing's second consecutive loss.
Joakim Andersson gave the Red Wings the early 1-0 lead and Tomas Tatar scored on a power play at 6:32 of the second period to put Detroit on top 2-1.