Huberdeau, who was playing his first game after missing three because of an upper-body injury, put Calgary up 1-0 at 3:49 of the first period when he converted on a centering pass from below the goal line by Rasmus Andersson. The goal was his first in six games dating to Oct. 25.
"To get a goal, it's been a while," Huberdeau said. "It's a good team win. That's all that matters."
Kaliyev tied it 1-1 at 4:53 on a power play when he one-timed a seam pass by Viktor Arvidsson from the right face-off circle, and then put the Kings up 2-1 at 6:11 when he scored on a spinning shot from the goal line.
Andrew Mangiapane tied it 2-2 at 10:55 to end a 10-game goal drought, and Brett Ritchie gave the Flames a 3-2 lead at 11:37 when he tapped in a return pass from Blake Coleman past Quick's outstretched left pad.
Toffoli one-timed a pass from Lindholm on a 2-on-1 for a 4-2 lead at 16:25.
"We need everybody going, rolling four lines and three sets of [defense]," Toffoli said. "When we play that way, we kind of come in waves. That's how we're kind of built and how we're successful. We're on the right path. We didn't complete the game, something for us to work on, but we'll take the two points."