Finland's Olympic goaltender Miika Kiprusoff made 27 saves to help lead the Flames (25-12-5) to a season-high fifth straight victory and a one-point divisional lead over the idle Colorado Avalanche.
"It's a big win for us," Calgary coach Brent Sutter told reporters. "It's a road win. We need points obviously, and it's a huge win any way you look at it."
David Moss and Olli Jokinen gave the visitors a 2-0 advantage with goals in the second period and, after Patric Hornqvist replied for Nashville in the third, Daymond Langkow scored an empty-netter with 19 seconds remaining to secure the win.
The loss brought an end to the Nashville's (25-15-3) three-game winning streak despite a solid 31-save effort from Dan Ellis, who alternates starting duties with Pekka Rinne.
Nashville were without injured leading scorer Martin Erat for the third straight game and could have used the offense in the second period when the Flames had a 16-9 shot advantage.
Moss, playing his 200th NHL game, struck first with a wrister at 9:32 and Jokinen followed by beating Ellis with 18 seconds left in the period.
The Predators entered the game having scored four goals in 14 of their last 24 contests but were shut down by Calgary's stingy defense.
"(Kiprusoff) is absolutely one of the best goaltenders in the world," Hornqvist told reporters.
"It was a huge goal for them (at the end of the second period). We need to work harder for the first two periods."
(Writing by Jahmal Corner in Los Angeles; Editing by John O'Brien and Nick Mulvenney)