Cammalleri had scored eight goals in his previous four games, but had to settle for one assist against the Predators. He helped out on Adrian Aucoin's power-play goal with 7:30 remaining in the third period that gave the Flames a 3-1 cushion.
While San Jose and Detroit have dominated the Western Conference this year, the Flames have quietly opened an 11-point lead in the Northwest Division. They have the third-largest point total in the West.
After a scoreless first period, Calgary's Matthew Lombardi and Andre Roy scored in a five-minute span during the middle portion of the second.
J.P. Dumont tipped in a shot 7:57 into the third to bring the Predators within a goal, but Aucoin all but wrapped up the victory with Cammalleri's assistance.
Pekka Rinne allowed three goals on 32 shots to take the loss.