Baroka wasted no time getting on the front-foot as early as the second minute through Collins Makgaka.
Arrows settled into the match after the opening exchanges, looking more composed on and off the ball.
Arrows then found another good chance at the far post but a header from Musa Bilankulu went off the mark on 19 minutes.
Arrows connected well with Sibusiso Sibeko and Nduduzo Sibiya in particular, but missed the cutting edge to find the all-important breakthrough.
Closer to halftime, the half-chances continued propping up for both the sides but failed to make them count.
The struggle for Abafana Besthende well into the second half, but did manage to ask a few questions of their more illustrious early on.
Baroka made their first change after 62 minutes when Ranca Chivaviro was replaced by Onkgebatse Makgantai.
Arrows made a double switch as Wayde Jooste and Siyabonga Siphamandla entered for Sibeko and Sibiya respectively.
Bakgaga Ba Ga Mphahlele grabbed a second to kill off the clash with Mduduzi Mdantsane netting from close range to book their spot in the last eight.
Baroka: Chipezeze , Kgoetyane, Makume, Gebhardt, Sibiya, Sodi, Mosele, Chawaphiwa, Mdantsane, Makgantai, Makhala.
Subs: Dlamini, Nkausu, Chivaviro, Patjie, Makuba, Moseki, Selemela
Arrows: Mbaeva. Bilankulu, Mathiane, Zwane, Motebejane, Molefe, Cele, Sibiya, Dube, Lamola, Sibeko
Subs: Naicker, Sibisi, Mngwengwe, Magubane, Sabelo, Jooste, Dlamini.