Cape Town - Zambian Justin Shonga punished a slow-reacting Kaizer Chiefs defence to score the late goal that gave Orlando Pirates a 2-1 victory Saturday in the Telkom Knockout semi-final.
READ: As it happened: Kaizer Chiefs 1-2 Orlando Pirates
Thembinkosi Lorch put the Buccaneers ahead after 13 minutes at Moses Mabhida Stadium in Indian Ocean port city Durban and Colombian Leonardo Castro levelled five minutes later.
The clash between the two biggest crowd-pullers in South African sport appeared to be heading for extra time when Shonga struck six minutes from time.
After a failed bicycle-kick attempt to connect with a cross, the Zambian rose from the ground and poked a shot across goalkeeper Itumeleng Khune into the far corner of the net.
Pirates will play trophy-holders Wits or Baroka, who meet Sunday in northern city Polokwane, in the final on December 8.
"We stuck to our plan, played patiently and deserved to win," was the verdict of Serbia-born Pirates coach Milutin 'Micho' Sredojevic.
Chiefs' Italian coach Giovanni Solinas admitted that a second loss to Pirates in two months -- they were also beaten 2-1 in a league match -- greatly saddened him.
"I feel a lot of pain and disappointment because this was a semi-final my team could have won. We had enough scoring chances but luck was not on our side."
Both clubs now turn their attention to the 2018/2019 African club competitions as they host preliminary round first leg fixtures next week.
Pirates play Light Stars of the Seychelles in the CAF Champions League and Chiefs meet Zimamoto of Zanzibar in the second-tier CAF Confederation Cup.