The Western Cape was divided into half, and to a large extent, the game flattered to deceive with chances at either end in both spells of the game.
The Citizens came out guns blazing, and almost broke the deadlock through Craig Martin but were stopped by the post after 12 minutes.
The Urban Warriors grew slowly into the game, and Tashreeq Morris tried to break the ice from a free-kick, but it went wide of goal.
City came back strong towards the end of the first half, and it converged with Edmilson Dove going at goal from outside the box following a corner kick.
For the second time in the match, they managed to break free and Thabo Nodada found himself in a good position to score, but he shot straight at Brendon Peterson.
The visitors were dealt a blow when Gerald Takwara got his marching orders from Thando Ndzandzeka for a second bookable offence.
That did not appear to deter them as they nearly went ahead on the stroke of half time, but Sirgio Kammies fired wide of goal from inside the box.
The Citizens went ahead seven minutes into the second half after Martin connected with Ayanda Patosi’s delivery to head home on the goal-line.
The lead sprung the Citizens into life as they continued piling the pressure on the visitors, who battled to hold on.
Nodada found himself in another open position in front of goal, but this time he failed to hit the target as his header went wide of goal.
Substitute Lyle Lakay came on with great effect, as he brought a different element to the game with his pace that left their city rivals defending with their backs to goal most of the time.
The very same variation nearly led him to profit from close range, but his effort was cleared off the line 10 minutes before the end.
Three minutes later, Lakay was in the thick of things again when Peterson denied him with a one-handed save from a free-kick position.
The Citizens though held on for the win to return to second spot on the Premiership standings ahead of Free State Stars who went down 3-0 to Maritzburg United.