City led 1-0 at half-time.
After a tight, cagey opening to the game, it was City who created the first opportunity when Ebrahim Seedat’s cross from the left found the head of Craig Martin in the penalty area, but Chippa goalkeeper Daniel Akpeyi saved easily.
In the 19th minute, though, the Capetonians took the lead when Lehlohonolo Majoro turned in a cross and Lyle Lakay powered in a stunning volley that nearly broke the back of the net.
But Chippa never allowed their heads to drop and they gradually got themselves back into the contest. In the 31st minute, Mark Mayambela could have equalised, but drilled his shot into the side-net. And, 10 minutes later, Lerato Manzini had a chance, but fired his effort high and wide.
Chippa then came out storming in the second half, clearly determined to make things happen. And they did, with Abel Mabaso curling a delightful shot into the far corner to level matters at 1-1 in the 50th minute.
Five minutes later, Chippa should have taken the lead when Mayambela fashioned an opening for Menzi Masuku, but the forward stabbed the effort wide.
With the Eastern Cape team dominating the action and looking to score again, they brought on 35-year-old striker Katlego Mashego to replace Manzini. And the change worked as the veteran gave Chippa a 2-1 lead in the 72nd minute, tapping in after the City defence failed to clear their lines.
Desperate to get back on level terms, City made two changes, bringing on Ayanda Patosi and Nigerian Victor Obinna in place of Teko Modise and Majoro. It was still Chippa, though, making all the running and they could have increased their advantage, but Kurt Leentjies fired wide.
City tried in vain to draw level in the closing stages, but it wasn’t to be.