The home side were dominant throughout, but could not secure a bonus point try that would have taken them level on 32 points with the conference-topping Bulls.
Twice Cheetahs captain Adriaan Strauss opted to go for the posts late on when the opportunity for an attacking line-out was there, meaning they did not add to their three tries.
Four points separate the Bulls at the top of the South African conference and the Stormers in fourth place.
However, the Kings now trail the latter by 13 and will almost certainly have to fight for their Super Rugby lives in a playoff against the demoted Lions at the end of the campaign.
This game was won comfortably by the hosts, who had too much speed and muscle for a Kings outfit that managed four penalties.
After playing for 10 weeks in a row, the Cheetahs will get a rest next weekend and time to work on their tactical plans.
"It was a very tough game, it was very physical," Strauss said. "We backed ourselves to score a fourth try in the final 13 minutes and we almost did. The bye has come at a welcome time."
The opening score came when the Cheetahs won a turnover in their own half and centre Robert Ebersohn launched a breakaway. The ball found its way down the line to winger Raymond Rhule and the Ghana-born speedster went over for the try.
Two penalties from flyhalf Demetri Catrakilis kept the visitors in touch but the Cheetahs went over the line a second time before the break.
Great interplay between flank Lappies Labuschagne and scrumhalf Piet van Zyl bamboozled the Kings defence out wide and the former crossed over to score.
Burton Francis added the extra two points and, after Catrakilis landed another penalty, the Cheetahs led 15-9 at halftime.
The Kings were caught cold at the start of the second period as the home team sprinted out of the blocks.
They bashed their way towards the tryline and after Ebersohn and Rhule got close, Willie le Roux finally broke the Kings defensive line.
But the final score the home side craved would not come as they were held up over the tryline on three occasions, the bonus point eventually eluding them.
"We were just not good enough to get a win tonight," said Kings captain Andries Strauss, cousin of Cheetahs skipper Adriaan.
"We made a lot of mistakes at crucial times of the game again and allowed the Cheetahs to score some easy tries and they punished us."
"It is tough to get a win against any of the South African sides, but we will have to work on our mistakes and up our game."
- Sports & Recreation
- Adriaan Strauss
- the Kings