DETROIT (AP) -- Manny Legace wanted to play much better than he did the last time he faced his former team.
It was the first time Detroit, winners of 14 of its last 16 games, was held scoreless this season. The Red Wings hadn't been shut out at home since a 3-0 loss to Boston on Jan 7, 2004.
They dropped a 5-0 decision to the Red Wings the day after Christmas. Legace was pulled midway through the second period after giving up four goals on 16 shots.
"The guys played phenomenal for me," said Legace, who played with Detroit from 1999-2000 until 2005-06. "I was awful after Christmas ... You have to bring your A-game [against the Red Wings] or you'll look bad."
Legace stopped Jiri Hudler on a breakaway with 8:05 left.
"Goaltending was the key to the game," St. Louis coach Andy Murray said. "Manny had a very good night tonight."
Dominik Hasek made 21 saves for the Red Wings.
"At times we did some good things," Detroit's Kris Draper said. "But from start to finish, it wasn't our most complete effort."
Johnson, a rookie defenseman, opened the scoring 5:41 into the third period when he beat a screened Hasek with a slap shot from the high slot after picking up a loose puck and skating from inside the right circle. It was Johnson's third goal of the season.
The first overall pick of the 2006 NHL draft had gone 14 games without a goal.
"I was getting a little frustrated because I've been in a drought," Johnson said. "But tonight I was saying 'feed me the rock, feed me the rock and I'll pound it."
All three of his goals have been game winners.
When informed of that stat, Legace said: "Well, he should score more often."
He did something that Blues' goalies haven't been able to do often: Shut out the Red Wings at Joe Louis Arena. The last St. Louis goaltender to do so was Guy Hebert on Jan. 11, 1993.
It was Detroit's fourth game in six days.
"We had no juice in the tank, it's pretty obvious," Red Wings coach Mike Babcock said. "I thought we did all right for about the first 10 minutes at the start of the game. We tried to push, but we didn't have any jump. Give them credit. They played hard."
Stempniak scored into an empty net with 22 seconds left.
Detroit C Henrik Zetterberg didn't play because of back spasms and RW Tomas Holmstrom missed the game with a knee injury. ... St. Louis C Andy McDonald sat out because of a sore chest muscle.