The Citizens moved to within two points of league leaders Bidvest Wits, who host Maritzburg on Sunday.
City were not at their best against Ea Lla Koto and were slightly edgy at times, but on the balance of play, they deserved the three points.
The home team had the first chances of the game as Lebogang Manyama sent a 30-yard shot marginally wide in the sixth minute before Letsie Koapeng turned well in the box but had his effort well saved by Thela Ngobeni.
Although Stars were mainly on the back foot they did have two chances in quick succession around the 20-minute mark, but Makhehlene Makhaula shot straight at Shu-aib Walters after a slick move while Thabo Maphakisa fired wide of the target from a good position inside the box two minutes later.
It was then City’s turn again as Aubrey Ngoma struck a shot from a tight angle, but Ngobeni was up to the task with a good save at the near post with his foot.
That proved to be it for first half chances as both teams struggled to make create openings in the final 15 minutes.
With the home side anxious to get the three points needed to stay in the title race, the opening 15 minutes of the second half were cagey.
But the mood was lightened considerably in the 62nd minute when Vincent Kobola’s pin-point cross following a free-flowing move was expertly headed into the far corner of the net by Judas Moseamedi.
Moseamedi turned provider two minutes later when he teed up Ngoma, who looked set to double the lead only for Ngobeni to go diving through the air to pull off a wonderful save.
Having failed to add a second goal buffer, City found themselves under increasing pressure from Stars, but did well to limit them to an 83rd-minute free-kick from Sinethemba Jantjie which was tipped over by Walters.
Indeed, Eric Tinkler’s side were able to survive the final 10 minutes without much of an issue to put their title challenge back on track with three games to go.
Would you like to place a soccer bet? Click here to get started in 3 easy steps.