Sunil Narine tormented Bangalore’s top order with 4-21 that included the key wicket of Kohli when he tried a slog sweep against the West Indies spinner and was clean bowled.
Narine then clobbered three sixes in one over by Australian seamer Dan Christian as Kolkata reached a winning 139-6 in 19.4 overs.
Narine made 26 off 15 balls before he was bowled by Muhammed Siraj in the 18th over but by then Kolkata had the result virtually in hand.
Kolkata spinners Varun Chakravarthy (0-20) and Shakib Al Hasan (0-24) built pressure with some tidy bowling despite Kohli and Devdutt Padikkal (21) combining in an opening stand of 49 runs off 31 balls.
But once Padikkal played on to Lockie Ferguson in the last over of the batting powerplay, Narine picked up the key wickets of Kohli, Srikar Bharat, AB de Villiers and Glenn Maxwell.
“We had a great start and probably should’ve tried to build on,” Kohli said. “It was more about quality bowling instead of poor batting.”
Kolkata’s chase made a decent start of 41 by Shubman Gill (29) and Venkatesh Iyer (26) until both fell against Harshal Patel (2-19). Yuzvendra Chahal (2-16) also picked up two wickets but by the time Siraj’s double strike came in the 18th over, Kolkata had the game sealed.
“Narine makes it look very easy, he bowled outstandingly well,” Kolkata captain Eoin Morgan said. “It is a huge privilege when there are world-class spinners around, they continue to get better and better.”