Unbeaten fifties for Robin Uthappa (80 off 58 balls) and Andre Russell (55 off 32) in a 112-run partnership saw Kolkata over the line with the penultimate ball of the game.
Brad Hogg (4-29) had earlier impressed, with the 44-year-old taking four wickets as Chennai were restricted to 165-9 from their 20 overs.
Kolkata stumbled to 57-3 within 10 overs of their reply, before Uthappa and Russell took control of the game, inflicting only Chennai’s second defeat of the 2015 IPL.
The noise was deafening from a near capacity Eden Gardens crowd, as Kolkata picked up a wicket with the first ball of Chennai’s innings – Ryan ten Doeschate taking a terrific catch to dismiss Dwayne Smith off Pat Cummins (1-54).
But that was as good as Cummins’ day would get as Brendon McCullum smacked him for two big sixes later in the over and another maximum – and back-to-back fours – in his second.
It was part of a brutal early onslaught from McCullum (32 off 12), pushing Chennai to 64-2 after five overs, before he was eventually dismissed, lbw to Hogg???s first delivery.
Hogg also accounted for Faf du Plessis (20 off 11) later in the over, the South African batsman stumped by Uthappa.
MS Dhoni fell for one – bowled by Piyush Chawla (1-21) – in the next over, meaning the Super Kings were five down within seven overs and the momentum was firmly with the Knight Riders.
A 57-run partnership between Dwayne Bravo (30 off 32) and Ravindra Jadeja (24 off 30) steadied the ship, allowing for a 13-ball cameo from Pawan Negi (27) to fire them to a healthy score.
Hogg accounted for him in the penultimate over of the innings, bowling Negi for his fourth wicket.
As a result only five runs came from the final over, as Chennai set a target of 166 for the hosts to chase down.
Uthappa and Gautum Gambhir (19 off 16) – who hit a couple of big sixes – got the Knight Riders off to a good start, before the latter fell to Mohit Sharma (1-22).
Manish Pandey wasted 10 deliveries for just three runs before being dismissed by Negi (1-23) and Suryakumar Yadav perished for two an over later to IPL debutant Ronit More (1-31).
Russell joined Uthappa at the crease and immediately set about turning the game back in the home side???s favour, with a six off Negi’s next over.
It was one of four he’d hit in his innings on his way through to fifty – his second of the tournament – brought up with a maximum in the 17th over.
It left the Knight Riders needing 19 runs from the final three overs to win, which they made a bit of a meal of as they sealed the victory with the penultimate ball of the game.