Eric Perrin stole an errant pass before setting up St. Louis' first goal from the low right circle that gave the Lightning a 2-1 advantage at 9:42 of the third.
St. Louis made it 3-1 with 6:16 left, netting his 41st goal of the season. Vincent Lecavalier assisted for his 500th NHL point.
Jason Ward also scored for Tampa Bay, which moved within two points of Southeast Division-leading Atlanta.
New Jersey's Martin Brodeur stopped 29 shots. Zach Parise had the lone goal for the Devils, who have lost four of five.
Ward put the Lightning ahead 1-0 at 11:23 of the first. Parise tied it with a power-play goal with 8:39 left in the second.
Denis made a diving stop in the second on an in-close shot by Jamie Langenbrunner.
Brodeur stopped 14 of 15 shots in the first.
Notes: Tampa Bay G Johan Holmqvist missed the game due to the flu. New Jersey centres John Madden and Patrik Elias both remained sidelined by groin injuries. C Erik Rasmussen is out with an upper body injury.