The result now means the Buccaneers will face Mamelodi Sundowns in the final on September 15.
Both of the Buccaneers’ goals were deflected shots, while Katlego Mashego scored for United.
Pirates started the match the better of the two sides with former Matsatsantsa striker Tico-Tico Bucuane the first to threaten in the fourth minute when he sent a shot over the Supersport crossbar from the edge of the area.
Fellow striker Rudzani Ramudzuli then saw his effort saved by United keeper Andre Arendse in the seventh minute, as Pirates dominated the opening minutes.
Supersport’s first real chance of the game came in the 19th minute when Katlego Mphela shot just wide following a good build up down the right flank.
The match was held up for several minutes just before the break due to a head injury to Buccaneers skipper Lehlohonolo Seema following a collision with Supersport’s Fikru Tefera.
The score remained goalless at the break.
Supersport gave a better showing in the second half, but could not penetrate the resolute Pirates defence, who were superbly marshalled by Seema.
However, Gavin Hunt’s side should have gone ahead in the 74th minute when Pirates keeper Francis Chansa failed to hold onto a cross by Daine Klate, but United midfielder Elias Pelembe sent his effort well wide of goal.
Pirates’ only chance in the second half was a tame shot by substitute Lebohang Mokoena, which was easily saved by Arendse in the 83rd minute, and the match was forced into extra time.
The first half of extra time got off to a superb start with Teko Modise volleying straight at Arendse from just outside the area in the first minute, while United substitute Mashego saw his shot parried by Chansa, with Klate sending the rebound woefully wide of goal seconds later.
Mphela then saw his volley blocked by Pirates defender Destin Makita in the 10th minute, and the striker should have put United ahead three minutes later when he found himself clear on goal, but he took too long to shoot and was dispossessed by a superb challenge by Isaac Leshabane.
Seconds later Pirates striker Paulus Masehe sent a good ball across the face of the Supersport goal, but none of his teammates were at hand to slot the ball home.
Both teams continued with their attacking approach in the second half of extra time and it was Pirates who drew first blood when substitute Joseph Makhanya combined well with Mokoena before seeing his deflected shot beat Arendse to make it 1-0.
However, the Pirates fans were still celebrating when Supersport equalised two minutes later through a superb striker by Mashego, after Chansa opted to punch clear a long throw by Simphiwe Mkhonza and the ball fell kindly for Mashego, who drilled the ball into the far corner with a well taken half-volley.
But Pirates managed to lift themselves and netted the winner three minutes later when Joseph Kamwendo’s free-kick took a huge deflection off the defensive wall to wrong-foot Arendse and secure the match for the Buccaneers, much to the relief of their coach Bibey Mutombo, who has been in the firing line of late, with The Ghost calling for his axing.