DALLAS -- The Dallas Stars could not let this one slip away.
Eric Nystrom and Erik Cole also scored and Ray Whitney added two assists for Dallas, which snapped a four-game losing streak (0-3-1) -- a stretch that dropped the Stars from seventh place in the Western Conference to 13th.
"It was a big win. I thought we clawed our way a little bit to the surface here, we still got a few feet to go," Dallas coach Glen Gulutzan said. "We were doing simple things to win the game, our leadership was real good throughout. We have to continue with that mindset."
The Stars, coming off an 8-1 loss Saturday night against Chicago, had been outscored 14-2 while losing their last three games but closed a four-game homestand with the much-needed victory. In the midst of a crucial stretch of their schedule, the Stars head out for two road games before returning to Texas for another five in a row.
"Games like that happen and sometimes you're going to suffer like that during the course of a season," Nystrom said of the Chicago loss. "Sometimes playing at home is harder than playing on the road. You think that you have to do something extra, but you just have to play a simple game and that's what makes us successful. We've got to learn from this."
Kari Lehtonen, making his eighth straight start, made 16 saves for Dallas.
"It was huge, after such a bad game, it was nice to play a great game," Lehtonen said. "They kind of sneaked back in and made it more interesting than it should have been. Every game is huge right now, the race is so tight. It's an exciting time to be a hockey player and we just have to build on this."
The Stars bolted out to a 3-0 lead in the first period but the Flames battled back, scoring two power-play goals in the second and battling down to the wire after Alex Tanguay's goal with 4:46 remaining pulled them within one.
"It's the end result. To push back doesn't bring you to the big dance," Calgary coach Bob Hartley said. "We have to learn to play defense, plain and simple. If we can't play in our zone it's pretty tough to win games. If you'll look at tonight we have lots of work to do."
Joey MacDonald made 20 saves as the Flames lost their seventh straight road game (0-6-1), getting outscored 28-11 in those contests dating to their previous Dallas visit on Feb. 17, when they won 4-3.
"You've got to find a way. It seems like on the road we start slow and it takes time to get going," MacDonald said. "At home we have the energy, we have the crowd behind us. I don't know what it is."
The Stars were cruising along with a 3-0 lead midway through the second when the momentum changed following a big hit by Dallas' Cody Eakin on Matt Stajan at 11:17. Not only did Eakin earn an interference penalty, but it got the Flames fired up.
"That's one of the dirtiest hits that I've seen," Hartley said. "Those hits can end careers. But we replied well. We took advantage on the power play but definitely we need to take those hits out of our game."
Calgary needed just 13 seconds to capitalize, pulling to 3-1 when Hudler deflected a wrist shot from the right point by T.J. Brodie over Lehtonen's shoulder for his sixth goal.
Bouwmeester got his sixth of the season on another power play to make it 3-2 at 14:35, lifting a backhander from the edge of the crease over Lehtonen's blocker.
The Flames kept up the pressure early in the third but Lehtonen made a sparkling save on Curtis Glencross' snap shot from the left circle at 1:15.
Dallas made it 4-2 on Eriksson's second of the night at 12:06 of the third when Jamie Benn's pass through the slot bounced past defenseman Mark Giordano and Eriksson managed to dig it out and whip a wrist shot past MacDonald for his ninth of the season.
Tanguay pulled Calgary back within one with 4:46 remaining with his ninth goal. He swooped in on a breakaway, made a move to his backhand and slipped it behind Lehtonen.
"They had a push in the third that I thought we weathered pretty good," Gulutzan said. "I thought we stabilized a bit, our leadership was good and the end always gets hairy."
MacDonald got the start in goal because Miikka Kiprusoff remained in Calgary for the birth of his child. ... Dallas is now 0-for-2 on penalty shots this season. RW Ryan Garbutt, who missed his second straight game with a hand injury, missed his attempt on Jan. 24 against Chicago's Corey Crawford. ... The Stars honored former C Guy Carbonneau, who skated in Dallas from 1995-2000 and helped the club win its only Stanley Cup in 1999, as part of its all-time team.