Vincent Pule had a glorious chance to open the scoring for Bucs inside the first minute of the half after going through on goal, but he fired his strike straight at Leopards goalkeeper Rotshidzwa Muleka.
Thamsanqa Gabuza also had another good opportunity to sent the visitors ahead in the fifth minute receiving a pass free at the back post but he guided his effort wide.
Gabuza should have done better again for Milutin Sredojevic’s charges in the tenth minute from a through ball and instead of lobbing the on-rushing Muleka in a one-on-one situation, he struck his effort wide
The Buccaneers went ahead eventually in the 34th minute through an own goal by Tshivhavhudzi Ndou following a cross by Gabuza from the left wing, 0-1.
Gabuza, who was whistled by the fans throughout the half, threw his shirt into the crowd out of frustration and bizarrely went off the pitch and into the dressing room.
Sredojevic’s men were forced to play with ten men in the last five minutes or so and managed to protect their lead into the break.
Gabuza was sent off immediately after he came back to the field at the beginning of the second stanza, receiving two yellow cards in succession for removing his shirt in celebration and departing the pitch without permission from the referee.
Leopards were sensing opportunities towards the hour-mark, having the numerical advantage but they somehow they lacked numbers upfront to trouble the Pirates defence.
However, Pule made it 2-0 for Bucs in the 65th minute after finding space on a counter-attack inside the box and side-footed his shot into the top corner.
Joseph Mhlongo pulled a goal back for Lidoda Duvha 20 minutes before time with a sensational volley from the edge of the box into the top corner, 1-2.
Joel Masutha’s troops were applying the pressure ten minutes before time looking for the equaliser but they were vulnerable to counter-attacks.
Pirates defended deep in their own half in the closing minutes and managed to hold on to the crucial win to end a two game losing run.