Determined to end their two-match losing streak, Kolkata posted this edition's highest total of 245/6, thanks to opening batsman Sunil Narine's 75 off 36 and skipper Dinesh Karthik's 50 not out off 23.
West Indian all-rounder Andre Russell, who scored a brisk 31 off 14, took two wickets in two balls, while Narine removed the dangerous Lokesh Rahul (66 off 29) as Kolkata poured cold water on Punjab's ambitious run-chase.
The win at the Holkar Stadium saw Kolkata move to the fourth spot having 12 points from 12 matches. Kings XI remained third with 12 points from 11 games.
In the match, Kolkata gathered the early momentum, with Narine setting the stage for a big score, his whirlwind innings studded with nine fours and four sixes.
KKR were given a good start by opener Chris Lynn 27 (17b; 2x4, 2x6) and Narine with the visitors racing to 59/1 after six overs.
Lynn looked tentative from the outset, almost chopping the ball onto his stumps in only the second and third ball of the match off Mohit Sharma. On both occasions, the ball went to the fine leg boundary.
The dashing Australian was removed by the brilliant Tye to bring Robin Uthappa (24; 17b; 2x4, 1x6) to the crease.
Along with Narine, the pair helped KKR to 106/1 after 10 overs. Narine was severe to Barinder Sran (1/48) in the 11th over, hitting him for two sixes and a four.
The West Indian mystery spinner-turned-batsman brought up his second fifty of the season in 26 balls and looked set for a hundred.
But medium pacer Andrew Tye had other plans as he sent both Narine and Uthappa back in the hunt in one over. While Narine nicked behind a brilliantly executed short delivery, Uthappa mistimed slower one to Mohit Sharma who snaffled a good catch at backward point.
Russell was promoted to No.4 to keep the onslaught going and together with Karthik, the duo took the bowlers to the cleaners in a 76-run fourth wicket partnership off just 31 balls. While 19 runs came off Axar Patel's 15th over, off-spinner Mujeeb Ur Rahman was taken for 21 runs in the next.
Tye took Russell's wicket to break the quickfire partnership as Karthik also fell to Sran but the damage was already done. In between, Nitish Rana also chipped (11) before Mohit Sharma (1/40) took his wicket.
KKR never let their foot off the gas and scored 139 runs in the last 10 overs. In the final over, 17 runs came off Barinder Sran (1/48) as Shubman Gill remained unbeaten on 16 off 8 balls alongwith Javon Searles (6), making his IPL debut.
For the hosts, purple cap holder Australian pacer Tye (4/41) was by far the pick of the bowlers.
During the chase, Punjab looked on course riding Rahul's 29-ball 66 (2x4, 7x6) but Narine (1/44) got the better of him. Russell (3/41) dismissed compatriot Chris Gayle (21; 17b; 2x4, 1x6) and Mayank Agarwal (0) in the fourth and fifth ball of the sixth over when they were cruising at 57/0.
Karun Nair failed to aid Punjab, scoring three runs before being dismissed by Russell, with the northern outfit at 79/3.
Few overs later, Rahul, who was going hammer and tong, was bowled by Narine as he missed the ball, which then hit his legs before rolling on to the stump, as Punjab lost theiur fourth wicket for 93 runs in nine overs.
Later, Australian opener Aaron Finch (34; 20; 3x6) tried to stage a comeback but Javon Searles (1/52) took his wicket.
Kings XI could never recover from there on, succumbing to their second defeat on the trot.
Skipper Ashwin played a good-looking 22-ball 45 cameo but it was too little too late.
Brief scores: Kolkata Knight Riders: 245/6 in 20 overs (Sunil Narine 75, Dinesh Karthik 50; Andrew Tye 4/41) beat Kings XI Punjab: 214/8 in 20 overs (Lokesh Rahul 66, Ravichandran Ashwin 45; Andre Russell 3/41, Prasidh Krishna 2/31).
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)