The early action was at least lively, chances at both ends as Lebogang Manyama had his shot saved by Patrick Tignyemb before Aubrey Ngoma curled a shot over the bar for the home team while Celtic had efforts on goal through Musa Nyatama and Khethokwakwe Masuku, both saved by Shu-aib Walters before 10 minutes had been played.
The game remained evenly balanced, Lyle Lakay going inches wide with a long range effort on 27 minutes that skidded off the turf while 10 minutes later Judas Moseamedi had a great chance when he picked out by Matthew Sim at the near post, but a lack of composure saw the opportunity come to nothing.
The first chance after the break fell to Masuku, who spotted Walters off his line in the 55th minute, but he failed to execute his attempted chip.
But for the most part though the quality of football in the second half was poor, the match lacking in intensity and goalmouth action as neither side found any fluency in attack.
The closest it came to getting a winner inside regulation time was when Sibusiso Mxoyana’s 18-yard effort flew a yard over the bar on 90 minutes.
There was little change to proceedings in extra time, the next noteworthy incident coming in the 112th minute when Tshepo Rikhotso was sent off after a second yellow card.
But there was to be no penalty shoot-out, which would have at least provided some excitement, as City struck with two goals in the final five minutes of extra time.
The first was a well-taken effort by Sibusiso Masina, who netted from a tight angle in the box, the second an own goal as Kabelo Mahlasela turned in Thabo Nodada’s shot.