NASHVILLE, Tenn. (AP) — If the Flames were weary at the end of their long trip, it didn't show against the Predators.

Matthew Tkachuk and Dougie Hamilton each had a goal and an assist in Calgary's 4-3 victory over Nashville on Thursday night.

Mark Jankowski and Curtis Lazar also scored, and David Rittich made 29 saves. The Flames won two of their last three to finish 4-2 on their longest trip of the season.

"A little cliche-ish, but the big battle cry in there today was, 'Who can do it the hardest the longest?'" Calgary coach Glen Gulutzan said. "I thought our guys did that tonight."

Ryan Johansen, Yannick Weber and Nick Bonino scored for Nashville, and Pekka Rinne made 27 saves. The Predators had won two in a row, and Rinne was 10-0-1 in his previous 11.

"We're not working hard enough, I don't know what else to say," Nashville coach Peter Laviolette said. "If you don't invest a lot, you won't like it at the end. The stretches that aren't going our way are the stretches that we're getting outplayed. It's because we're missing some bite in our game."

Jankowski gave Calgary its first lead at 3:24 of the third, capping a tic-tac-toe passing play with Takchuk and Sam Bennett with a tap-in from just outside the crease. Lazar's wrist shot from the right side beat Rinne high to the glove side at 10:14 of the third to make it 4-2.

Nashville drew within a goal at 12:19 of the third when Bonino redirected a pass from Pontus Aberg by Rittich.

Rittich's stopped P.K. Subban's slap shot with under a minute remaining in the game and the Predators on a power play and Rinne lifted for an extra attacker. He saved his best for last though. With 9.2 seconds remaining, Rittich got his glove on an attempt from Kevin Fiala from the right side, just preventing it from crossing the goal line. A brief video review confirmed the on-ice ruling of no goal.

Not happy with giving up Bonino's goal, Rittich wanted to improve.

"After that, I should do something more," he said. "They need me and I'm really happy I did."

Johansen opened the scoring at 13:45 of the opening period. Rittich stopped Ryan Ellis' slap shot from the middle of the blue line. Standing just outside the crease, Craig Smith poked the puck loose, and Johansen was able to tap the puck across at the left post.

Tkachuk tied it on a power play with 44 seconds left in the first. Mark Giordano's wrist shot from the left point hit Sean Monahan in front. Tkachuk grabbed the rebound and banked the rebound off of Rinne and in for his 21st goal of the season.

"That's a big win for us," Tkachuk said. "I can't speak enough about the whole team and the effort we put in tonight to get the win, especially late to hold off their push late."

Weber made it 2-1 at 9:30 of the second. From inside the Nashville blue line, Weber's pass sent Viktor Arvidsson in on a breakaway. Arvidsson's wrist shot from the slot hit the right post, but Weber hustled to follow the play and put the rebound past Rittich.

"I think they showed that this kind of hockey that we've been playing recently is not going to win us games in the playoffs and down the stretch," Weber said. "It's definitely a wakeup call that we can't just watch and be satisfied and think we still win every game. Maybe we needed that one. It shows us that we do have to go back to the way we need to have success."

Hamilton tied it at 14:28 of the second. At the tail end of a full 2:00 5-on-3 advantage, Hamilton snapped a wrist shot from the high slot just underneath the crossbar. Nashville was just 15 seconds from killing off both minor penalties assessed to Weber and fellow defenseman Alexei Emelin at 12:43.

Johnny Gaudreau had the secondary assist on Hamilton's goal, his career-high 49th assist of the season.

Notes: Nashville C Kyle Turris missed the game due to illness. ... The Predators were 0 for 5 on the power play. They have not scored on the man-advantage in their last six games, going 0 for 18. ... Gaudreau extended his points streak to eight games. ... The road team has won all three games in the season series, with Calgary taking both matchups in Nashville.


Flames: Host Florida on Saturday night.

Predators: Host Detroit on Saturday night.