DALLAS -- The Calgary Flames allowed three unanswered goals in the second period, then scored three of their own in a decisive third period to hand the Dallas Stars a 4-3 defeat before 17,340 fans at American Airlines Center.
"We showed lots of character. I'm very proud of our players," Calgary coach Bob Hartley said. "We had a good talk after the second period. I told them if we want to build some foundation to be a playoff team, it's games like this that we need to win. We're heading to Phoenix with plenty of smiles."
In the final period, Calgary (5-5-3) got goals from Roman Horak, Matt Stajan and Steve Begin, who all scored for the first time this season. The Flames overcame a 3-1 deficit after two periods.
"It's very disappointing, very disappointing that we didn't come out with two points here at home," Dallas coach Glen Gulutzan said. "We needed to be stronger in front of our net."
Begin netted the eventual game-winner with 9:30 to play. He put a 16-foot wrister into the left side of the Dallas net after a long-distance slap shot from Chris Butler was deflected in front of the Stars goal and the carom fell in his vicinity.
"It feels good, but the most important thing is we came out with two points. We needed those points, and that's a huge win," Begin said. "We've got to be proud of ourselves, but we've got to bring the same intensity for the next few games."
Horak and Stajan scored just 45 seconds apart early in the third period to make it a 3-3 game.
Horak knocked in a rebound after Stars goaltender Richard Bachman made a pad save on a shot by Jay Bouwmeester.
Stajan scored from 15 feet after some nice passing by Curtis Glencross and Lee Stempniak to set up the equalizer.
Calgary took a 1-0 lead 8:11 into the game when Michael Cammalleri beat Bachman with a 20-foot wrister that sailed over the goaltender's right shoulder from the edge of the right face-off circle. Cammalleri's shot from one knee came on the Flames' second power play of the period.
The Stars (8-7-1) rebounded to take a 2-1 lead early in the second when Cody Eakin and Reilly Smith scored 56 seconds apart.
Eakin, who has three goals this season, all in his past four games, beat Calgary goaltender Joey MacDonald with a 45-foot wrister to the short side 1:51 into the second to make it 1-1. MacDonald was screened on the goal by Dallas' Antoine Roussel.
Smith then gave Dallas its first lead when he lifted a backhand into the left side of the net at 2:47 of the second. The Stars rookie winger collected a rebound off a shot from distance by Derek Roy, and after his initial attempt was denied by MacDonald, scored his second goal in as many games. Smith scored his first career goal in Friday's 4-3 win at Vancouver.
Dallas added a third goal in the second period when Ryan Garbutt netted his third of the season at 15:23 with an easy tap-in at the left post. Garbutt and Stephane Robidas were rushing up the ice. After Garbutt laid the puck off to Robidas, whose initial shot from the left circle was stopped by MacDonald, Garbutt knocked in the ensuing rebound to make it 3-1.
The Stars played the third period with just five defensemen after losing Trevor Daley to an upper-body injury late in the second period.
MacDonald stopped 27 of 30 shots for Calgary in his first NHL start since last March.
"Yeah, it's been a long time and it's been frustrating," MacDonald said. "But overall, I think taking it slow was the right thing to do. Tonight, 30 shots, I felt pretty good in there for not playing in a while."
Bachman finished with 22 saves.
NOTES: MacDonald, 33, was claimed off waivers on Feb. 11. His previous NHL start came for the Detroit Red Wings on March 14, 2012, when he stopped 20 of 24 shots in a 4-0 loss at Anaheim. His last win came on March 9, 2012, against the Los Angeles Kings ... Cammalleri has four goals this season, all of which have come against Dallas. He had a hat trick in a 7-4 win over the Stars in Calgary on Feb. 13. ... Stars right wing Michael Ryder, who assisted on Eakin's goal in the second period, now has four assists over the past three games. ... The Flames play the Coyotes in Phoenix on Monday, while the Stars are off until a Thursday home game against the Vancouver Canucks.