David Perron, Oskar Sundqvist and Jaden Schwartz scored, and Jordan Binnington made 17 saves for St. Louis (13-4-5), which was 0-1-2 in its previous three games and is 8-1-2 in its past 11.
"I just think we needed our game for a full 60 minutes," Sundqvist said. "It was a while ago since we did that. It feels like tonight was finally the night where we were putting up our complete game for 60 minutes."
WATCH: [All Lightning vs. Blues highlights]
Anthony Cirelli scored, and Andrei Vasilevskiy made 31 saves for Tampa Bay (9-7-2), which lost its second straight.
"In the end," Lightning coach Jon Cooper said, "if you turn the puck over, it gives the other team momentum, you don't have it, and then things are out of sorts because you've got to plan coming up ice, you turn it over, and now you're scrambling back. That really affected us in the second period, but it's been an Achillies' heel of ours and something that we've seen doesn't work, and when we don't do it, it works. That's too bad, because it was a winnable hockey game."