The second goal was overturned at 3:53 of the second period when it was determined Yegor Sharangovich used a distinct kicking motion to direct the puck across the goal line from the slot.
"It wasn't our best game," Hischier said. "We didn't have our legs in the first period, to be honest, and it was embarrassing. But we found a way back. In the end, if you're going to win those games, it's huge. We found a way and it was good to get the two points."
Ryan Graves tied it 1-1 on a snap shot from the left face-off circle at 5:14.
Vanecek stopped back-to-back shots by Tyler Toffoli on a wrist shot from the slot at 14:22 before stretching his left pad to deny Elias Lindholm at the right post.
"I think the one in the second period [against Lindholm] was probably the save that helped us win the hockey game," Ruff said.
Hamilton pushed it to 2-1 with a 5-on-3 power-play goal at 16:37.
"Any time you lose, it is frustrating, but honestly, it's not about that," Flames coach Darryl Sutter said. "It's not about the effort. I don't question that. It's about execution."