Andrei Vasilevskiy made 18 saves for the Lightning (41-19-5), who scored three goals on special teams (two on power play, one shorthanded) and are seven points behind the Boston Bruins for first place in the Atlantic Division. Nikita Kucherov had two assists to extend his personal point streak to 19 games (14 goals, 17 assists).
"It was a good performance from start to finish," Lightning forward Blake Coleman said. "Since I got here we've had a little trouble on special teams, but it was one of the big things that bailed us out tonight."
WATCH: [All Flames vs. Lightning highlights]
Tampa Bay was playing its second straight game without center Steven Stamkos, who will be out 6-8 weeks because of core muscle surgery.
"It's a huge loss when you think about the way he produces for us," Lightning forward Alex Killorn said. "He is a huge part of this team. He's also the leader of the team. [It's only] six weeks, so hopefully we can have him back in time for the playoffs."
Elias Lindholm had a goal and an assist, and David Rittich made 29 saves for the Flames (33-26-7), who have lost two straight and remained one point ahead of the Nashville Predators for the first wild card into the Stanley Cup Playoffs from the Western Conference.
"Overall, we didn't play 60 good minutes to win a game against one of the best in the League," Lindholm said. "We had some moments, a couple of minutes here and there, but it wasn't good enough."
Tyler Johnson gave Tampa Bay a 1-0 lead at 13:52 of the first period when he redirected Mikhail Sergachev's point shot on the power play.
"We wanted to keep things a little bit more simple and shoot the puck," Johnson said. "[Sergachev] shot the puck in front, then it hit my stick and goes in. Sometimes it's not always the prettiest of plays that are the most effective."