The game was played in front of almost 93 000 fans and Chiefs looked set for the win as an Abia Nale goal inside the first 10 minutes looked as though it would be enough to seal the victory.
But with just seconds remaining on the clock, Benni McCarthy netted to force the game into a shoot-out, where Pirates finally prevailed just as they had in the inaugural year in 2011.
The match is unique in global football as the fans select the starting line-up of the two teams, as well as a substitution to be made on the 50-minute mark.
Pirates were forced into a late change before kick-off, left-back Thabo Matlaba was ruled out with flu and replaced by right-back Bheki Nzunga. Club captain Lucky Lekgwathi moved into the left-back role.
Benni McCarthy had an opportunity in the opening few minutes when he was played in on goal by Thulasizwe Mbuyane, but his first-time volley was weak and straight at Chiefs goalkeeper Itumeleng Khune.
Pirates were making all of the early running though and indecision at the back between Tefu Mashamaite and Khune saw Mbuyane with a sight of goal from a tight angle, but his effort towards an empty net went wide.
Chiefs then opened the scoring against the run of play, Nale profiting from some excellent build-up play by George Lebese. The latter brushed off the attention of Nzunga and thrust towards the byline, pulling the ball back for Nale to tap into an empty net.
Lekgwathi might have done better, but Nale showed good strength and determination to keep him at bay.
Mark Mayambela was a popular choice among Pirates fans for a starting berth, but showed little in the opening 45 minutes barring a good effort from 35-yards that went narrowly over the crossbar.
Sifiso Myeni then made a thrilling run down the right and floated a cross into the centre which Khune failed to collect. Mashamaite just managed to scramble the ball away as McCarthy seemed poised to bundle it home, though the Pirates striker pleaded for a penalty, feeling the Chiefs man had raised his boot too high.
Mayambela was pulled at halftime for Daine Klate and shortly afterwards the two ‘consumer substitutions’ were made just past the 50-minute mark. Surprisingly, both sets of fans voted to change goalkeepers, with experienced stars Khune and Moeneeb Josephs on the Pirates side being replaced by Arthur Bartman and Senzo Meyiwa respectively.
Pirates had plenty of possession in the opening 25 minutes of the second half, but failed to create many clear-cut opportunities in front of goal.
They were reduced to efforts from distance, Ndumiso Mabena forcing a comfortable save from Meyiwa. Klate might have done better when he was fed the ball on the edge of the area from a free-kick, but scuffed the effort on his favoured left-foot.
Pirates had a shout for a spot-kick as Klate’s effort hit Morgan Gould in the chest and bounced onto his arm, but referee Daniel Bennett waved play-on. Much to the annoyance of The Buccaneers players.
With 12 substitutions made in the second period, the flow of the game was always going to be affected and it never quite managed to live up to the buzz of the opening 45 minutes.
But with time running out, McCarthy equalised as he headed home from close-range as a corner to the far post was played back towards goal, and the former Bafana Bafana star added to his impressive list of goals in a Buccaneers shirt.
That sent the match to penalties, with both teams having their opportunities shoot-out as five penalties were unsuccessful. But in the end Lincoln Zvasiya’s miss proved crucial as Meyiwa saved his effort, and Ndumiso Mabena then stepped up to give Bucs the win.
Kaizer Chiefs (1) 1 (Nale 9’)
Orlando Pirates (0) 1 (McCarthy 90’)
Pirates win 5-4 on penalties
Penalty sequence: Letsholonyane scored, Mahamutsa scored; Motaung Jnr scored, Manyisa scored; Dladla scored, Klate scored; Nkosi missed, McCarthy saved; Nkhatha scored, Sangweni scored; Ritchie saved, Gcaba missed; Zvasiya saved, Mabena scored
Kaizer Chiefs: Itumeleng Khune (Arthur Bartman 53’), Siboniso Gaxa (Lincoln Zvasiya 90’), Tefu Mashamaite (Erick Mathoho 76’), Morgan Gould, Jimmy Jambo, Josta Dladla, Reneilwe Letsholonyane, Abia Nale (Keegan Ritchie 76’), George Lebese (Siyabonga Nkosi 41’), Lehlohonolo Majoro (Kingston Nkhatha 69’), Bernard Parker (Kaizer Motaing Jnr 86’).
Orlando Pirates: Moeneeb Josephs (Senzo Meyiwa 53’), Bheki Nzunga (Ayanda Gcaba 53’), Rooi Mahamutsa, Siyabonga Sangweni, Lucky Lekgwathi (Mpho Makola 87’), Mark Mayambela (Daine Klate 46’), Andile Jali (Manti Maholo 74’), Oupa Manyisa, Sifiso Myeni (Tlou Segolela 71’), Benni McCarthy, Thulasizwe Mbuyane (Ndumiso Mabena 62’).