SAINT PAUL, MN -- The Calgary Flames needed goaltender Chad Johnson to be perfect. He was.
Johnson stopped all 27 shots faced, and Johnny Gaudreau scored the game's only goal to power the Calgary Flames to a 1-0 win against the Minnesota Wild at Xcel Energy Center on Tuesday.
"I felt good," said Johnson, whose last shutout came on Dec. 17, 2015 as a member of the Buffalo Sabres. "I thought we got better as a group as it went on and were more confident defensively. They had a little bit of pressure and we weathered the storm there. You could see we didn't get rattled when they came hard at us. I felt good. I thought everyone did a good job."
Johnson's shutout, his first with the Flames, ends a four-game losing streak for Calgary.
"It's good to get us out of that skid," Flames forward Troy Brouwer said. "We've had a really good atmosphere in our room … maybe even fake smiles to make sure we're in the right mindset. We need to get some wins because we can't keep sliding down the leaderboard right now. We've got to get ourselves in a good playoff spot. Tonight we did a great job against a real stingy hockey team."
Devan Dubnyk made 26 saves for the Wild.
Gaudreau scored 6:05 into the game to put the Flames up 1-0. After being sprung on a partial break by Mark Giordano, Gaudreau shielded off three defenders before slipping a backhand along the ice and by the right pad of Dubnyk to net his third goal in the past three games.
The goal, coming with Mike Reilly in the penalty box for hooking Freddie Hamilton, gives Calgary power play goals in back-to-back games for just the second time this season.
Video: CGY@MIN: Gaudreau fights off defenders to net PPG
"We haven't really been scoring on the power play," Johnson said. "It's the little things that get you the win and tonight I thought we did a good job. It was good to get the win."
Johnson made sure it stood as the winner.
He made 10 saves, including three in the opening 29 seconds of the game, in the first period.
"I just thought he was so steady," Flames coach Glen Gulutzan said. "We started off probably the first four minutes where we were a little shaky until we settled in. He was just so calming. It had an effect on our guys. You saw how well he played. I thought we got going, too, a little bit after those saves. It kind of worked together. He just played such a calm, composed game. It helped our group."
Johnson stopped all nine shots faced in the second period, too. He got his glove on a slap shot off the stick of Jared Spurgeon 8:10 into the period, and made a save off Erik Haula after a Gaudreau turnover in the Flames end with 3:30 remaining in the second.
The 30-year-old made an additional eight saves in the third period, including stopping Charlie Coyle on a partial breakaway at 13:09 and another on Eric Staal's wraparound attempt with 43 seconds remaining in regulation to preserve the shutout.
Video: CGY@MIN: Johnson stops Parise's chance in the 1st
"For me, this is how we're going to have to win," Gulutzan said. "If we think that with the teams in the West and the teams in the league we can sit and score five or six a night and give up four or five … it's just not going to work that way. We have to get comfortable playing these one-goal games and playing the right way.
"I saw a lot of that tonight, and getting comfortable taking leads into the third, keeping it close, playing that 50-50 hockey that the NHL is. That's what good teams do on a nightly basis. We're learning that, and this is how we're going to have to win."
NOTES: Garnet Hathaway made his season debut with the Flames on a line with Micheal Ferland and Freddie Hamilton. Johnson started in net for the first time since losing 4-1 at the Anaheim Ducks on Nov. 6. Matthew Tkachuk returned to the lineup after missing two games because of a cut on his wrist. Jyrki Jokipakka was scratched for a second consecutive game. Hunter Shinkaruk was also scratched.
UP NEXT: The Flames will host the Arizona Coyotes at Scotiabank Saddledome on Wednesday (8:00 PM MT; SN, SN1, FAN960).