Shikhar Dhawan anchored Punjab to 4-187 on Monday with an unbeaten 88 off 59 balls. Then Kagiso Rabada, Arshdeep Singh and Rishi Dhawan bowled magnificently in the last four overs to restrict Chennai at 6-176.
Punjab's fourth win in eight games lifted them to sixth, four points above struggling Chennai.
Ambati Rayudu made a whirlwind 78 off 39 balls and brought Chennai's chase back on track by smashing Sandeep Sharma for 23 runs in the 16th over, which featured three successive sixes and a boundary.
But Arshdeep leaked only six runs in the following over and Rabada, who took 2-23, cleaned up Rayudu with a yorker.
Needing 27 runs off the last over, Mahendra Singh Dhoni pulled Rishi Dhawan for a six off the first ball but the fast bowler sealed the game for Punjab when Dhoni was caught at mid-wicket off a legside delivery.
"I thought Arsh bowled exceedingly well," Punjab skipper Mayank Agarwal said. "Throughout the season, he's stood up in tough moments and he's bowled the tough overs … even Rabada was fantastic."
Dhawan and Bhanuka Rajapaksa (42) featured in a 110-run stand for Punjab's second wicket and dominated overseas bowlers Dwaine Pretorius (0-50) and Dwayne Bravo (2-42).
Liam Livingstone provided a finishing flourish with 19 off seven balls.