Bucs went into this match on the back foot, having lost 3-1 in the first leg two weeks ago in Port Elizabeth.
The reigning PSL champions needed to score three goals without reply to progress and it was no surprise when they went on the offensive from the first whistle, but the task was not made easy by Libolo who played a 5-3-2 formation from the onset.
However, it was Libolo who took the lead in the 35th minute when their skipper Maieco Henrique, who bagged a brace in the first leg, scored with a header from a corner kick.
Libolo’s lead was shortlived though, as Bucs finally got the breakthrough via the boot of Andile Jali, who pulled one back for Bucs from close range on the stroke of halftime.
Pirates needed three goals in the second half to at least force the match into extra time and Bucs coach Julio Leal brought in Tokelo Rantie for Bongani Ndulula in the 52nd minute.
Six minutes Benni McCarthy replaced Dikgang Mabalane and Pirates continued to press forward.
Pirates thought they had scored in the 71st minute through Siyabonga Sangweni from a cross by Oupa Manyisa, but the goal was disallowed after McCarthy was adjudged to have been offside when Manyisa played the ball.
Despite putting up a gallant fight Pirates couldn’t get the goals they needed and Libolo won 4-2 on aggregate to send Bucs packing.
Pirates line-up: Josephs - Nzunga, Cloete [Mhlongo 88th], Mahamutsa, Sangweni - Jali, Mabalane [McCarthy 58th], Manyisa, Segolela - Mbuyane, Ndulula [Rantie 52nd]