After a slow start, it was the Buccaneers with the first chance after Xola Mlambo got at the back post for a header, but he failed to make it count as he headed straight at Thela Ngobeni.
It wasn’t long before the hosts snatched the opener as Ntsikelelo Nyauza rose to head home Justin Shonga’s corner on 22 minutes.
They immediately pushed for a second with Augustine Mulenga getting on the edge of the box before taking a looping shot that Ngobeni saved easily.
Bucs were forced into early change, seemingly due to injury as goalscorer Nyauza made way back to the tunnel for Gladwin Shitolo 10 minutes before halftime.
Stars pushed for an equaliser before the break but Patrick Phungwayo’s cross was headed over by Siphelele Mthembu.
After the restart, abysmal defending from Bucs let in Nhlanhla Vilakazi, who duly slotted into the bottom corner on 51 minutes.
Vilakazi then had the perfect opportunity to complete his brace but was unable to meet a cross from the flanks.
Bucs made them pay with five minutes to go as substitute Thamsanqa Gabuza capitalised on poor goalkeeping to blast home a rebound following a shot.