Midfielder Siphiwe Tshabalala scored the only goal of the game with 17 minutes to play, condemning Celtic to their fourth defeat in five league games and leaving them rooted firmly at the bottom of the table.
The opening stages of the match saw both teams pretty much cancel each other out, although the hosts probably had the greater share of possession. Their main playmaker was left midfielder Mark Mayambela, who showed some lovely touches and great vision whenever he had the ball.
It took nearly half an hour for the first genuine attempt at goal, with Amakhosi's Jose Torrealba exploiting some space on the edge of the Celtic penalty area before unleashing a shot that flashed mere inches wide of the upright.
On 39 minutes, Onismor Bhasera broke forward on a strong run that took him into the penalty area, but Gert Schalkwyk couldn't get enough power behind his shot to unduly trouble goalkeeper Patrick Tignyemb.
A minute later it was Celtic who could have broken the deadlock, but Spandeel was unable to steer his header on target after more good work by Mayambela. Amakhosi replied with a good opportunity of their own, though David Mathebula couldn't keep his half-volley down.
Chiefs made a change at the start of the second half, with Tshepo Bulu replacing Mathebula. The striker, who has only just returned from the facial injuries he sustained in the game against Maritzburg United, wore a protective mask over his nose and eyes.
Celtic's Cyrille Mubiala almost opened the scoring with a header soon after the interval, but Itumeleng Khune came up with a great save. The goalkeeper was lucky to see Spandeel put a lob off target in the 64th minute after racing onto a great pass by Mayambela.
Substitute Thuso Phala should have made more of chance in the 67th minute, rising unmarked to meet Tshabalala's cross, but Tignyemb was allowed to make a comfortable save. Moments later Bulu blasted over from close range after a mistake from Mubiala.
But Bulu redeemed himself with a strong role in Chiefs' 73rd minute goal, powering into the box and scuffing his shot amidst a mass of defenders, but Tshabalala was on hand to stroke the ball into the bottom corner of the net.
Celtic's attempts to get back into the game in the remaining minutes were stymied by the dismissal of former Chiefs player Ditheko Mototo for his second yellow card.