One of the few glimpses of normalcy was two goals by Flames captain Jarome Iginla, but given his recent struggles — one goal on the season and two in his last 28 games — even that could be chalked up as an unusual twist.
"It was a wacky game with a lot of different things," said Iginla, whose tying goal at 18:37, after a cross-ice pass from Alex Tanguay, went off his stick, then off his belly, before trickling in. "It felt great as a team to find a way not only to tie it but to see Glennie win it right before regulation was great."
Twenty-three seconds later and with the Scotiabank Saddledome sell-out crowd of 19,289 still buzzing, Curtis Glencross took Lee Stempniak's pass from the corner and one-timed a slapshot past Mike Smith from the top of the slot.
"When you get a win like that, late in the game, it's huge for the mental part of the game," Glencross said. "It's rewarding for us and hopefully this puts a little wind under all of our sails and we keep going."
Calgary pulled within two points of Phoenix, San Jose, and Dallas, who are all tied for seventh place in the West.
"We stopped playing. We came out with some authority in the third. In the first 15 minutes, we were taking it to them playing north, north, north hockey," Phoenix forward Raffi Torres said. "Then we got in trouble and we stopped playing and you can't stop playing against those guys over there."
Tim Jackman and Mike Cammalleri also scored for Calgary (7-7-3), which wraps up its three-game homestand with victories on consecutive nights against two teams it is chasing in the Western Conference. The Flames beat Minnesota 3-1 on Saturday.
It was a turbulent third period for the home side, who led 3-2 entering the final 20 minutes only to see it erased on a dandy goal by Torres at 2:22, off a slick give-and-go with Zbynek Michalek, and Johnson's go-ahead goal at 8:48.
"That's two games in a row that we had a lead and we gave it away. We came out and we were really good early in the third and got ourselves back in the game, but a couple key mistakes at the end cost us the game," said Coyotes coach Dave Tippett. "We have to find a way to close these games out. That's not who we are as a team. Very uncharacteristic of us."
An eventful second period saw Phoenix score twice to erase a 1-0 deficit before Calgary stormed back with two goals in the final four minutes to regain a one-goal lead.
Phoenix tied it 1-1 at 5:32 on a tough break for Flames defenceman Jay Bouwmeester, who had Stone's point shot carom off defensive partner Mark Giordano in front and hit him in the skate as he tried to control it and bound straight into the net.
The goal came six seconds after the Coyotes were put right back onto the power play after failing to connect on a 1:43 two-man advantage. As the gate opened to let Matt Stajan back onto the ice to return the Flames to even strength, the Flames centre poked the puck off the stick of Keith Yandle while he was still standing inside the penalty box. On the rarely seen play, Stajan was correctly assessed an interference penalty under rule 56.2 of the NHL rule book. The crowd was displeased with the call, jeering referees Ian Walsh and Tim Peel for the remainder of the period.
Down 2-1 after Torres put the Coyotes ahead at 14:01, Iginla tied the game just over two minutes later, sliding a harmless-looking backhander towards the net that somehow slipped through the pads of Smith.
Calgary surged ahead 3-2 with 35 seconds left in the period as Cammalleri ripped a shot into the top corner off a set-up by Glencross.
"The second period was definitely a bit different. A couple of weird penalties and just not a lot of flow to the game, everybody was a little riled up," said Stempniak. "We came in, took a deep breath, and tried to channel that frustration and energy into the game and stuck with it. It was a great win for us and a testament to our mental toughness."
Calgary failed to score on 30 shots against Smith when the two sides met last Tuesday. On this night, the Flames would see their first shot go in.
The unlikely goal scorer was Jackman, slipping a backhand inside the post. The Flames rugged fourth-line winger scored his first goal and point in 52 games, dating back to Dec. 29, 2011.
Notes: Calgary RW Akim Aliu (lower body) was injured in his season debut Saturday and was replaced by Roman Cervenka ... Calgary LW Steve Begin played in his 500th career game ... Iginla's two points gives him 1,086 in his career, moving him to within two points of Theo Fleury for 59th on the NHL all-time list.