The visitors threatened first 16 minutes into the game when Sipho Moeti unleashed a shot which was well saved by City goalkeeper Shu-Aib Walters.
Bakgaga should have taken the lead three minutes after the half-hour mark, but Cleopas Dube headed Marshall Munetsi's beautiful cross inches wide of the target.
City striker Lehlohonolo Majoro scored in the 38th minute, but his celebrations were cut shot by referee's whistle as he was correctly ruled out for offside.
Three minutes before half-time, Aubrey Ngoma played a long ball into the Baroka box and goalkeeper Innocent Mbangeni came out to punch the ball away.
The home side, who were dominating ball possession, pressed the visitors as the half-time break approached. But Bakgaga stood firm at the back and first-half ended goalless.
The deadlock was finally broken six minutes into the second-half by Mzwanele Mahashe who scored on the rebound after Walters had pushed away Dineo Shaku's free kick.
It was soon 2-0 to Baroka a minute later after Zimbabwean striker Dube slotted home from close range after a great through ball.
However, Given Mashikinya pulled one back for City with a deft flick from inside the Baroka box in the 54 minute as three goals were scored within three minutes.
In the 72nd minute, Baroka keeper Mbangeni, who is a former Manco Milano shot-stopper, made a double save to deny the home side an equalizing goal.
Matt Sim, an attack-minded Australian midfielder, was introduced by City coach Eric Tinkler in the 82nd minute as the home side looked to snatch a goal against Bakgaga.
However, Baroka managed to contain City in the dying minutes of the league encounter and ultimately, the former collected the maximum points after winning 2-1 on the night.