Skipper Shreyas Iyer drove the chase with his valiant 51-ball 85 but Chahal, a leg-spinner who returned IPL best figures of 5-40, took him down at the start of the hat-trick that ended with a four-wicket over.
"I respect KKR as a unit. We never thought we were in the game," said Royals skipper Sanju Samson. "I think I don't need to talk much about individuals. We are lucky to have great players."
Royals, who won the inaugural edition under Australia great Shane Warne, recorded their fourth win in six matches to climb to second behind table-toppers Gujarat Titans on the 15th birthday of the Indian Premier League.
The money-spinning Twenty20 tournament began on 18 April in 2008 when the current Kolkata coach Brendon McCullum hit a match-winning 158 not out to set the league ablaze.
Come 2022 and the heat was on Kolkata after they invited Royals to bat and Buttler, who made match-winning 100 against Mumbai Indians earlier this month, quickly changed gears after a cautious start in the first two overs.
Buttler put on a 97-run opening stand with Devdutt Padikkal, who hit a brisk 24, and then got going with Samson, who smashed 38 off 19 balls.
The Englishman took on the bowling and hit Pat Cummins for a four to bring up his fifty and smacked the Australian pace bowler for six to reach his 100 in 59 deliveries as he raised his bat and got a hug from Shimron Hetmyer.
Buttler fell to Cummins three balls later and walked back to standing ovation from the limited crowd at the Brabourne Stadium. His innings laced with nine fours and five sixes.
Kolkata bowlers attempted to check the scoring but the left-handed Hetmyer finished with a flourish with two sixes and a four off the 20th over from Andre Russell. He made 26 off 13.
In reply, Kolkata lost Sunil Narine run out for nought off the first ball but Aaron Finch, who made 58, put on 107 runs with Shreyas who kept up the fight after his partners' departure.
Shreyas fell lbw to Chahal and Kolkata fell short despite Umesh's cameo in a tense finish.
McCullum said it was Chahal's hat-trick that proved to be the turning point of their loss.
"Forty off four (needed to win) and we had six wickets in hand and we were very much in charge of the game, but credit to Chahal, he is just a brilliant bowler," McCullum told reporters.