Rasmus Andersson and Johnny Gaudreau scored for Calgary (2-2-1), and David Rittich made 24 saves in his fifth consecutive start.
"I thought they did a good job of putting the puck behind us," Flames coach Bill Peters said. "We had a hard time in D-zone transition. We didn't come out clean, and therefore we spent a lot of time defending.
"We didn't play hard enough. Until we start playing hard enough, play hard for 60 minutes, it's going to be up in the air all night long and you're going to get blown out."
Tomas Nosek scored on a rebound of Carrier's shot at 3:24 of the first period to give Vegas a 1-0 lead.
Calgary took the lead in the second period with two goals in 33 seconds. Andersson tied it 1-1 at 4:02, and Gaudreau made it 2-1 at 4:35.
"We started off the second period really well," Andersson said. "We got two quick ones there, but if you make mistakes against a team like this they're going to punish you, and that's what we did. We had moments where we were really good, but we haven't found our game for 60 minutes yet."
Stone scored at 6:44 to tie it 2-2, Carrier made it 3-2 at 9:54, and Paul Stastny scored his first goal of the season at 17:26 for a 4-2 lead.
The Flames had an opportunity to cut into the lead when Stone was called for delay of game at 18:19 of the second period, but Fleury made five saves in a span of 32 seconds starting at 19:18 to keep the score 4-2.
"As a goalie, that's what you live for, just to make those [saves], the rebound ones," Fleury said of the scramble. "It's tough. You try to find the puck, and it's a little crazy. It's fun, though."
Ryan Reaves increased the lead to 5-2 at 4:47 of the third period, and Cody Glass scored his second of the season at 17:12 for the 6-2 final.