Wits had it all to do to get in the group stages after losing the first-leg in Angola.
The pressure continued thereafter from the hosts after Vincent Pule lined-up a shot from the edge of the box following a foul on Lehlohonolo Majoro, but it went straight to the goalkeeper.
After struggling to break down the Angolans' defence, Daylon Claasen used his intelligence with a chip to play in Majoro but the delivery fell out of the forward’s reach on 17 minutes.
Bafana Bafana defender Sifiso Hlanti broke down the left and picked out captain Thulani Hlatshwayo for a header, but the skipper failed to find the target as he headed wide after 39 minutes.
Wits nearly conceded after getting caught by Geraldo who beat the offside trap to go toe-to-toe with Darren Keet, who made himself big to deny the forward from successive goals against them.
Gavin Hunt made his first change at the start of the second half with Thobani Mncwango replacing an out-of-sorts Sifiso Myeni.
The hosts continued piling forward in search for the opener but after Pule connected with Frosler’s cross, he failed to find the intended target shortly from resumption.
The Students made their second substitution as the veteran Daine Klate took the spot of a lively Pule on 59 minutes.
A fantastic opportunity to break the deadlock fell to Majoro following a flick on but after doing well to get goal-side of the last defender, the former Bafana forward fired way off target after 69 minutes.
He got a similar opportunity off a cross by Elias Pelembe, but he once again failed to make the net bulge or the keeper work for that matter 12 minutes to the end.
It took a second off brilliance from Pelembe to finally break the ice, as he skinned two defenders to beat Cipriano with a stunning strike on 81 minutes.
The Students now needed only one more goal to go to the group stages, but it never came as penalties had to decide the overall winner.
Geraldo stepped up to convert the final spot-kick for Agosto after a spate of misses from both sides for a 3-2 victory and spot in the group stages.
Wits: Keet, Hlanti, Hlatshwayo, Gyimah, Frosler, Pule, Scott, Claasen, Myeni, Pelembe, Majoro.
Subs: Josephs, Khumalo, Ntshangase, Klate, Monare, Ritchie, Mncwango.