Gavin Hunt's charges came into the clash eager to get one over City, having lost to them on four occasions this season.
The Clever Boys were forced into an early change as Vincent Pule replaced the injured Gabadinho Mhango.
The home side were also forced into a substitution in the 25th minute when Nana Akosah-Bempah was introduced for Matthew Rusike, who was taken off injured.
Both sides struggled to carve out clear-cut chances in the first half, with the early changes seemingly disrupting the flow of the encounter.
However, the visitors took the lead just before the half-time break when Lehlohonolo Majoro slotted home from close range.
Benni McCarthy's men did not sit back and managed to level matters in the 58th minute thanks to a fine strike from Craig Martin.
However, with 17 minutes remaining, Wits were back in front when Sifiso Hlanti's cross found Majoro, who made no mistake from close range.
Gavin Hunt introduced new signing Cole Alexander for the final stages of the half as they looked to consolidate the lead.
Majoro's strike proved to be the final goal-mouth action of the game as Wits held on to claim three points.