After being sent into bat, Chennai posted a challenging 158 for six with captain Mahendra Singh Dhoni top-scoring with 34 but the Lions chased down the target with three balls to spare in a thrilling Group B match that went down the wire at the Newlands.
Opener Gulam Bodi smashed a 46-ball 64 to play a big role in the Lions' win. The local side now are in a very good position to make it to the semifinals having beaten defending champions Mumbai Indians in their opening match on October 14.
Chennai, who had lost to Sydney Sixers in their opening match on October 14, squandered a sensational start in their defence of 158.
Pacer Doug Bollinger (2/18) got two quick wickets early on to reduce the Lions to eight runs for two in the third over but Chennai allowed the local side to wriggle out of the tight spot and then to eventually win the match.
Chennai will now have to win both their remaining matches to have any chance of making it to the semifinals.
Bodi and Neil McKenzie (32) shared a 93-run stand for the third wicket from 9.5 overs to turn the tide in favour of the Lions.
The Lions needed 51 from the last five overs and 20 from the last two overs and they did it in style by reaching 159 for four with three balls to spare.
For Chennai, Ravichandran Ashwin and Albie Morkel took a wicket each, besides the two wickets by Bollinger for 18 runs.
Chennai made a sensational start in their defence of 158 with Bollinger removing Lions captain Alviro Petersen with the first ball of the innings in an LBW decision.
Two overs later, Bollinger induced an edge to Quinton de Kock (5) for Dhoni to take an easy catch behind the wicket.
The two early wickets pegged the Lions back and they were just 18 for two after the fifth over and 59 for two at the halfway stage.
But Bodi and McKenzie steadied the run chase after the initial jolt and then took their side to a position from where they could launch for a win.
Bodi was the dominant partner as he played most of the shots, including the two sixes off Albie Morkel in the ninth over. He reached his half century in 38 balls with a six off Faf du Plessis in the 12th over which yielded 14 runs.
Bodi was not afraid of taking on a quality spinner like Ravichandran Ashwin as he smashed a four and a six in the 13th over as the Lions had to come up with some big overs in view of the soaring asking rate.
Dhoni brought back Morkel, who was hit for two sixes in the ninth over by Bodi, and the change in bowling did the trick as the fast bowler gave the much-needed breakthrough.
Morkel removed Bodi with an angled delivery which the batsman wanted to hoist but it took the edge of his bat for Dhoni to complete an easy catch behind the wickets.
Bodi faced 46 balls for his 64 which he made with the help of five fours and four sixes. His dismissal ended the 93-run stand from 9.5 overs for the third wicket with Neil McKenzie.
Lions needed 51 runs from the last five overs and nine from the last over. Jean Symes, who remained not out on 39, hit two fours to end the match in style.
Earlier, Dhoni top-scored with a 26-ball 34 as Chennai Super Kings posted a challenging 158 for six.
Dhoni, who promoted himself to number four, hit two fours and as many sixes in his knock after coming at the halfway stage of the innings after his side was sent into bat at the Newlands in the Group B match.
Chennai lost wickets at regular intervals and looked like they would settle below 150 but the 50-run stand from 4.2 overs between Dhoni and S Badrinath (27 not out) for the sixth wicket saw them go past that mark.
The last two overs yielded 27 runs, with the penultimate bowled by Dirk Nannes, producing 19 and that saw Chennai reach a challenging total.
Badrinath was the second highest scorer while all the other batsmen, except for Albie Morkel (4), contributed in the 20s.
For the Lions, Aaron Phangiso grabbed two wickets for 17 runs from his quota of four overs while Sohail Tanveer, Nannes, Chris Morris and Zander de Bruyn took a wicket each.
The Chennai openers Faf du Plessis (25) and Murali Vijay (22) began on a confident note with the former launching Nannes for a huge six in the second over and then gave the treatment to Tanveer with three fours from the next over.
Vijay, who played second fiddle so far, then struck an effortless six off Nannes to take Chennai score to 43 for no loss at the end of fifth over.
The breakthrough for the Lions was provided by Morris with Phangiso taking a stunning catch to get rid of du Plessis who consumed 20 balls for his 25.
Phangiso, who had dismissed Sachin Tendulkar in Lions' previous match, ran back from the point region, dived full-length and pouched the ball before thudding himself into the ground.