Elvis Merzlikins stopped 37 shots, helping the Blue Jackets snap a four-game winless streak.
Oliver Bjorkstrand and Cam Atkinson also scored for Columbus.
''We were better,'' Columbus head coach John Tortorella said. ''We're working on a way to play that will get us into some sort of identity. I think we took a step in the right direction. We struggled at times as far as some turnovers and allowing them to get on the attack. Elvis made some big saves for us. I think we did a pretty good job around the net after shots were taken ... we found a way to win a hockey game.''
Mathieu Joseph scored for Tampa Bay, which fell to 13-3 on home ice.
Curtis McElhinney finished with 18 saves for the Lightning, who have lost three consecutive games for the first time this season.
''It probably could have went our way tonight, their goaltender played well,'' Lightning captain Steven Stamkos said. ''I thought he saw most of the shots and stopped them when he had to, but certainly better than the last couple of games, that's just the way it's going right now.''
The teams play again on Thursday in the second of a two-game set.
Savard's goal came during a delayed penalty call on Tampa Bay. After Alex Texier pushed through a check by Andreas Borgaman, he found Savard in the slot for a quick one-timer past McElhinney with 32 seconds remaining in the second period.
Savard last scored a regular-season goal on March 30, 2019, against the Nashville Predators, a span of 108 games. Savard's last goal came against the Lightning in Game 1 of the 2019 opening playoff round on April 10, 2019.
''The guys were rooting for me to get one soon. It was a good feeling and a big goal to go up 2-0,'' Savard said.
The Lightning received a scare in the second period when Norris Trophy candidate Victor Hedman was tripped up by Mikko Lehtonen and fell awkwardly into the boards and needed help to get off the ice and down the tunnel at the 5:57 mark of the second period.
But Hedman returned during a media timeout and was back on the ice at 10:22, just in time for an icing call that led to Jack Roslovic winning a faceoff to Zach Werenski, who sent a shot on net that was deflected by Bjorkstrand, putting Columbus in front at 10:49.
''It's just one of those things you go through as a player,'' Hedman said. ''I was fortunate to come back and felt okay going through the rest of the game.
Tampa Bay did lose defenseman Jan Rutta to a lower body injury in the second period.
Joseph cut into the deficit as Luke Schenn's shot from the right point caromed off the skate of Joseph and then the backside of Columbus defenseman Vladislav Gavripov at 4:12 of the third period for his 10th of the season.
Atkinson scored an empty net goal with 1:31 remaining to finish the scoring.
Tampa Bay played without second defensive pairing partners Ryan McDonagh and Erik Cernak for the third consecutive game. McDonagh, who missed his fourth consecutive game with a lower body, took part in the team's morning skate, the first time he's been on the ice since exiting the game on March 21 against Florida. Cernak has not played since taking a puck off the inside of his knee on March 23 in Dallas.
Head coach Jon Cooper said McDonagh is at least another game or two away from returning while Cernak might be a little longer.
BLUE (JACKETS) DEBUT
Columbus D Mikko Lehtonen made his debut for the Blue Jackets on Tuesday paired with Dean Kukan, who appeared in his 100th career game. Lehtonen was acquired from the Toronto Maple Leafs on March 10 in exchange for G Veini Vehvilainen. Lehtonen appeared in nine games for Toronto earlier this season, registering three assists.
https://apnews.com/hub/NHL and https://twitter.com/AP-Sports
Copyright 2021 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.