Baroka took the lead in astounding fashion when Matome Mabeba’s blistering free-kick sucked underneath the head of Darren Keet to hit the top of the net.
Wits started to pose questions of their own few minutes from going down, with Cole Alexander drawing a good save from Elvis Chipezeze.
As defending champions, the heavens were struggling to open up for the Students with Bakgaga making life difficult for them.
Keet made himself big closer to halftime as he stopped Tebogo Sodi to find the net with a well-taken volley.
He proved vital inside a minute as he finger-tipped Mduduzi Mdantsane’s cut back from an in-swinging left-footed cross from the right side.
With halftime looming, plenty of attacking intent yielded nothing for the visitors while guts and determination took Bakgaga to the break in the ascendancy.
Wits made a change early in the second half when Gift Motupa took the place of Namibian Deon Hotto.
The change looked to be the master-stroke needed to turn their fortunes when Motupa found space in the centre of the box to equalise, but he instead side-footed over the top
Bakgaga though still held the big spells of possession and continued to look telling whenever on the trajectory.
Thus, a dipping free-kick from the edge of the area by Jemondre Dickens saw them edging closer to that breaking point.
Baroka missed yet another golden chance to get a second when Mdantsane embarrassingly missed from a few metres following a cross-field pass on 74 minutes.
The Students continued pushing for an equaliser and Lehlohonolo Nonyane looked as if he would give them that when he found space at the far post, but after a poor first touch, he shot over the bar.
Simon Murray looked for his second goal in the competition when he rose to meet an incoming delivery, but he was unable to direct his header from a diagonal cross on target.
The Limpopo side managed to hold on to book their first-ever cup final with the axing of the defending champions.
Baroka: Chipezeze; Semenya, Sibiya, Makume, Gebhardt, Mdantsane, Sodi (Kgoetyane 82'), Mosele, Mabeba, Chawaphiwa (Madubanya 82'), Dickens (Chivaviro 66').
Subs: Dlamini, Kgoetyane, Madubanya, Chivaviro, Matloga, Patjie, Nkausu.
Wits: Keet; Mere, Hlatshwayo, Mkhwanazi, Nonyane, Monare (Hlanti 70'), Alexander, Domingo, Hotto (Motupa 46'), Dzvukamanja, Macuphu (Murray 68').
Subs: Mhlongo, Ritchie, Hlanti, Pelembe, Motupa, Murray.