Lehlohonolo Marjoro scored the only goal of the game, and the first of the league season, in a contest largely dominated by the Clever Boys.
The home side started very positively with Vincent Pule's pace proving a worry for the defence of City.
The opener almost came in the third minute when the ball dropped to Elias Pelembe in space following a corner but the veteran winger miscued his volley.
In the sixth minute Lebogang Manyama freed Majoro with a ball over the top but the striker scuffed his effort wide under pressure from Bongani Khumalo.
James Keene had the ball in the back of the net inside 10 minutes but his headed effort was chalked off due to offside.
An attempted cross from Pule almost caught Shu-Aib Walters out minutes later but the goalkeeper got a hand to the goalbound delivery.
Just before the half-hour mark Pelembe brought the ball down from a corner and lashed it towards goal but Walters got a strong hand behind the ball.
City had been doing most of the defending heading towards the break but managed to find the opener against the run of play.
A free-kick from Manyama was expertly headed past Moeneeb Josephs by Majoro to give the visitors the lead.
Immediately after coming out from the break Wits had the ball in the back of the net but Khumalo was adjudged to have been offside as he bundled the ball over the line.
Wits were afforded the chance to equalise from the spot in the 52nd minute after substitute Gabadinho Mhango had his heels clipped just inside the area.
The Malawian picked himself up to take the penalty but Walters dived to his right to keep his side's lead intact.
With 15 minutes remaining Mhango looked to make amends from his earlier penalty miss as he nipped past a couple of City defenders and forced his way into the box to cross for Keene who put his header onto the roof of the net.