This marked Amakhosi's sixth consecutive league match without a win. They now find themselves outside the top half of the table, having dropped to ninth place with only 30 points from 25 games.
Gallants, meanwhile, have climbed to 10th place — level on points with Chiefs but having played one more game (26) — boosting their hopes of finishing in the top eight by season's end.
Chiefs had the start coach Nasreddine Nabi would have hoped for, with forward Glody Lilepo scoring a stunning goal from outside the box just 10 minutes to make it 1-0.
It seemed as though the home side would take control of the game, but they struggled to maintain momentum, allowing Gallants to keep pressing inside their box.
The visitors were let down by poor finishing, while Chiefs goalkeeper Bruce Bvuma made a brilliant save to deny Thapelo Mokobodi in the 40th minute.
Gallants' persistence paid off just before halftime. This is after Bvuma parried Daniel Msendami’s shot, and Trevor Mathiane reacted quickly to slot home the rebound to level the scores.
Both teams searched for the lead after the break, but neither created major threats as the hour mark passed.
The match burst into life in the 64th minute when Chiefs almost regained the lead. Wandile Duba struck the upright, and Ashley du Preez failed to connect cleanly with the rebound.
Moments later, Gallants seized the advantage from a set-piece, with Msendami scoring to put the visitors 2-1 ahead, piling the pressure on the hosts.
Chiefs pushed for an equaliser in the dying minutes. A wonderful cross from Duba found Tashreeq Morris, but his header was superbly tipped over the bar by Gallants goalkeeper Washington Arubi, sealing victory for the visitors.