Read was credited with an unassisted goal to put Minnesota up 2-1 at 4:13 of the third period. Smith got trapped behind his net after trying to play the puck, and Mark Jankowski's clearing attempt deflected back off Read's skate and in. It was Read's first goal in 13 NHL games dating back to March 20, 2018, when he played the Philadelphia Flyers.
"My goal coming up here is to help out as much as I can, if it's being smart defensively or penalty killing or whatever it is," said Read, who was recalled on an emergency basis Friday. "Just to be out there and do the right things to help the team win at the end of the day is my goal. Enjoy every second of it."
Suter made it 3-1 at 11:07 with a shot over Smith's pad on an odd-man rush.
Hamonic's shot from the right point went over Dubnyk's shoulder at 14:29 to cut the lead to 3-2. But Donato beat Smith through the five-hole with a slap shot from the high slot at 18:18 to make it 4-2.
"I know every game that we've played against these guys has been really close," Staal said. "It's been 2-1, 2-1, or 2-0, 2-1. Tonight was a close one again. Competitive hockey. We're just happy that right now we can get on the right side of it because we need the points a lot more than they do right now."
Staal scored on Minnesota's second shot of the game for a 1-0 lead at 3:17 of the first period. He took a pass from below the goal line from Jason Zucker and beat Smith.
Calgary's Austin Czarnik appeared to tie the game at 8:40, but Wild coach Bruce Boudreau successfully challenged that Flames forward Sam Bennett impaired Dubnyk's ability to defend his net, and the goal was disallowed.
Monahan completed a pretty passing play with Johnny Gaudreau and Mark Giordano at 9:08 of the second period and tie the game 1-1.
"Anytime you lose, it (stinks)," Monahan said. "I thought we controlled a lot of the play tonight, but that's hockey. Sometimes that's how it works out."
The Flames retired the No. 12 of longtime captain Jarome Iginla prior to the game. He's the third player in Flames history to receive the honor along with No. 9 (Lanny McDonald) and No. 30 (Mike Vernon). The Flames wore Iginla's No. 12 during warmups.