Celtic twice led through Joel Mogorosi and Aleni Ndengane, but the Buccaneers hit back both times through Oupa Manyisa.
After a quiet opening 15 minutes, Celtic broke the deadlock when Mogorosi rose highest to head home Keegan Ritchie’s corner after Senzo Meyiwa came out and missed the ball.
Pirates eventually got going and Patrick Tignyemb was called into action in the 39th minute to smother a low shot from Thabo Matlaba, before tipping away a long-range effort from Happy Jele.
With half-time approaching, Musa Bilankulu was guilty of a lazy challenge in the area on Mpho Makola. The referee awarded the spot-kick, and Manyisa made no mistake for his second goal in two games.
Pirates were still busy tying bootlaces when Celtic reclaimed the lead in the first minute after the break – Ndengane with a back-post header to bury Ritchie’s excellent free-kick.
But just five minutes later Bucs were level again, and again Manyisa was the scorer. His run from deep was perfectly timed as he tapped home Kermit Erasmus’ pinpoint square-ball.
Both sides pushed hard for a winner after that, with Hellings Mhango notably stinging Meyiwa’s palms, but there was to be no more goals.