Upshall scored 1:12 into the second period to give the Blues a 1-0 lead. Colton Parayko made a move past Henrik Zetterberg toward the net, Howard made the initial save, but Upshall poked the loose puck for his first goal since Dec. 30 (19 games).
It was the first time the Blues have scored first in six games.
"I told Parayko just to skate the puck all the way down the ice and into the blue paint and you'll get an apple (assist) every time," Upshall said. "... We need to find ways to get dirty goals, no question. The puck, for example, on my goal, those pucks have been going behind the net or very rarely have they stopped before the net where we can go get second opportunities."
Pietrangelo's one-timer from the right circle made it 2-0 at 14:37 of the third period.
Athanasiou scored with 1:45 remaining, an extra-attacker goal that made it 2-1.
"We came out good," Red Wings captain Henrik Zetterberg said. "I thought we matched their intensity from the first, and the game was a little back and forth there. It would have been nice to get the first goal, but they got that one and we still hung in there."