Benni McCarthy's charges enjoyed most of the possession in the opening 15 minutes but they were unable to take advantage.
Arrows, meanwhile, were quite happy to sit back and attack the Cape Town outfit on the counter.
However, the home side broke the deadlock with their first meaningful opening after 38 minutes, as Siphelele Magubane beat Sage Stephens with a superb finish into the top corner 1-0.
Arrows ended the half on a stronger note, but they could not add to their advantage in the closing stages of the first stanza.
City carved out a chance five minutes into the second half, but Mpho Matsi failed to turn home a flick-on at the far post.
McCarthy opted for a change on 57 minutes, as Letsie Koapeng made way for Judas Moseamedi in a like-for-like swap, while Lyle Lakay made way for Aubrey Ngoma 10 minutes later.
It was Arrows who got the next goal as Jabulani Shongwe slotted past Stephens to hand the hosts a two-goal cushion after 68 minutes, 2-0.
City did not sit back and they eventually pulled a goal back in the 80th minute, courtesy of a penalty from Patosi to set up a nervy final 10 minutes.
The visitors then bagged the equaliser in the 88th minute, courtesy of a deflected effort from Thabo Nodada.
2-2 was how the score remained as both sides missed the chance to leapfrog Baroka FC at the summit of the table.