Sipho Moeti had the first shot in anger of the match in the 10th minute but his strike from outside the box sailed over the bar.
After 20 minutes, both sides were knocking the ball around but lacked penetration in the final third.
There was more of the same trend after half-an-hour with lots of possession given away from both sides, which led to a lack of chances.
The Citizens took the initiative five minutes before halftime but Bakgaga were uncompromising at the back and the first stanza ended goalless.
Robin Ngalande had a chance to break the deadlock in the 52nd minute, but his looping header went over the bar from inside the box.
Bakgaga had another opportunity minutes later with Siphelele Ntshangase inside the area but his curling shot was deflected wide of the goals.
Ngalande opened his account for Kgoloko Thobejane's charges in the 55th minute following a great attacking move that the Malawian finished with a superb low left-footed shot from just inside the box, 0-1.
A minute later, Benni McCarthy reacted by bringing on Ayanda Patosi in place of Teko Modise.
Craig Martin brought parity for McCarthy's troops in the 69th minute following a counter-attack, 1-1.
City had the momentum with five minutes to play as it seems the conditions favoured them.
Roland Putsche had a chance to seal it in stoppage time but his header went inches wide following a corner as the game ended all square.