Forsberg gave the Predators a 3-2 lead 30 seconds into the third period, following a cross-ice pass from Duchene.
Hanifin tied it 3-3 at 2:03, sending a wrist shot from just inside the blue line that beat Saros on the glove side.
Forsberg made it 4-3 at 9:35 of the third, scoring his second power-play goal.
"We hadn't beaten these guys this year, so if we do run into them, it's nice to have the confidence that we can beat them," Tkachuk said. "I thought all in all, that game did a lot for us."
NOTES: Flames forward Johnny Gaudreau played his 600th NHL game and had two assists. He extended his point streak to six games (12 points; five goals, seven assists). Gaudreau has 113 points (39 goals, 74 assists), second-most by a U.S.-born player in a single season (Pat LaFontaine, 148 points, 1992-93). … Tkachuk extended his point streak to six games (10 points; four goals, six assists). … Josi had an assist, the 400th of his career. … Forsberg extended his point streak to six games (10 points; four goals, six assists). … Duchene extended his point streak to six games (nine points; four goals, five assists).