Mike Smith made 26 saves for the Flames (16-14-3), who have lost three games in a row (0-2-1) and are 2-4-2 in their past eight.
"They're a good team," Calgary captain Mark Giordano said. "Obviously, they are one of the best in the League coming in, but I thought we played well. For whatever reason, the puck didn't go in tonight."
Johansen scored on the rebound of his own shot at 11:17 of the second period to put the Predators up 1-0. Viktor Arvidsson had the assist on the goal for his 100th NHL point.
Fiala scored with 37.8 seconds remaining in the second to make it 2-0. The goal extended his point streak to seven games (six goals, three assists), and Turris had an assist to extend his point streak to seven games (two goals, eight assists).
"We've definitely built some good chemistry," said Turris, who was acquired in a trade from the Ottawa Senators on Nov. 5. "He's a real good player. He sees the ice real well and he's got a great shot. He obviously skates unbelievable. I try to give-and-go with him and create space."
Fiala's goal came after the Flames failed to score with 1:49 at 5-on-3 earlier in the period.
Calgary is 0-for-19 on the power play in its past five games.
"We had a 5-on-3 for a long period of time, and you've got to find a way to score in this league," Giordano said. "That hurt, and obviously the late goal in the second. We were really chasing it in the third, and they are a good team."
Flames forward Micheal Ferland tipped Sean Monahan's shot off the crossbar at 8:43 of the third period on the power play, then Jaromir Jagr hit the post at 11:23.
Rinne made four saves in the final 42 seconds to preserve the shutout.
"We feel really confident," Rinne said. "Even tonight we got off to not the greatest start. We've been able to win games many different ways. Some games I feel like we have to defend a little more, but we still have so much skill up front. We have a lot of guys who can put the puck in the back of the net. That's a strength for our team."