The Buccaneers dominated throughout, and should have scored as early as the second minute when Teko Modise found space inside the area, but Avril Phali produced a stunning save to tip his shot onto the upright, with Dikgang Mabalane missing the follow-up.
A minute late Katlego Mashego broke through, but his cutback – with two teammates waiting to score – was very poor.
But the hosts were rewarded for their dominance on 13 minutes as Mbuyane expertly flicked Mashego’s corner past Phali, who then needed to be sharp to keep out Mashego’s curling effort on 33 minutes.
Chances for Cosmos were few and far between, though Rooi Mahamutsa had to be sharp to block Koena Mathopa’s goalbound shot.
It took Bucs just six minutes into the second half to score their second – Mbuyane reacting quickest after Phali could only parry Mashego’s shot.
Jomo Sono reacted by making three substitutions at once, but it mattered little as Pirates – and Mbuyane – scored a third, sliding home Mabalane’s pin-point cross.
Mabalane and Modise were both denied by Phali, before Cosmos had their best chance – Sono’s chip over Moeneeb Josephs acrobatically cleared off the line by Lucky Lekgwathi.
With the game secured, Ruud Krol brought all his substitutes on and one of them, Terror Fanteni, came within a whisker of netting his first for Bucs, but Phali got down low to tip it around the post.
Fanteni did get his goal, however, netting from close range after the ball had come back off Dennis Masina to put the icing on the cake for Pirates.