The first real chance of the game came in the fourth minute when Phenyo Mongala whipped in an inviting corner kick. Nigerian striker Otorogu rose highest at the front post to make the header, but his effort went inches wide.
Two minutes later and Shu-Aib Walters made his first save, stopping Thulasizwe Mbuyane’s weak shot, before United almost scored against the run of play – Rudolph Bester’s shot hitting the upright after some fine build-up play.
Finally, after a sustained amount of pressure, Bucs found the back of the net from an unlikely source. Johannes pounced on a poor clearance and fired his side in front with a perfectly placed shot from the edge of the area.
In the 41st minute only the fingertips of Walters kept his side from going further behind when he was at full stretch to his left to tip an Otorugu header over the crossbar.
The second stanza saw United quickly find their way back into the game when Lentjies scored the equaliser nine minutes into the half.
Johannes turned villain when he committed the foul that led to the goal, and Lentjies curled a beautiful 20-yard free-kick around the wall and into the bottom corner.
On 76 minutes Pirates nearly took the lead when substitute Tlou Segolela almost concluded a great passing move with a goal when his 12-yard shot struck the woodwork.
In the 83rd minute Bucs got their winner – though there is some dispute as to who actually scored. Mbuyane ran down the right and put in a cross which Fabian McCarthy appeared to turn into his own net, though Otorugu will claim he got the final touch.