James Neal scored his team-leading 15th goal, and Filip Forsberg added the other score for Nashville, which moved past idle Los Angeles into the second wild-card spot in the Western Conference.
Kris Versteeg, Michael Frolik and Sean Monahan all scored late in the third period for the Flames.
Rookie Juuse Saros made 32 saves for the win, while Chad Johnson turned aside 17 shots in defeat to fall to 16-11-1.