The teams played to a 1-1 draw in regulation time, as Sibusiso Masina's first-half opener for City was cancelled out by a late strike from substitute Thabo Mnyamane at Moses Mabhida Stadium.
After no goals in extra-time, Eric Tinkler's side prevailed in the penalty shootout, as goalkeeper Ronwen Williams impressed by saving attempts from Lyle Lakay and Judas Moseamedi before Dove Wome slotted the winning kick.
Lehlohonolo Majoro almost opened the scoring in the 12th minute after being put through by Masina, but Williams did enough to thwart the former Kaizer Chiefs and Orlando Pirates striker inside the box, desperately parrying the ball away from his feet at full stretch.
Masina grabbed the lead for Benni McCarthy's charges in the 22nd minute. The winger received a pass from Ebrahim Seedat on the flank and turned on the left side of the box to poke home a shot beautifully into the bottom left corner, 1-0.
Bradley Grobler had a glorious chance to level the score in the 33rd minute but Seedat stood in the way with a timely block inside the six-yard box to deny Matsatsantsa parity.
Tinkler's men were overwhelmed by the Citizens' attacks and although they dominated possession, their final pass lacked precision with Masina's strike making the difference for City going into the halftime break.
Tinkler took off the experienced Reneilwe Letsholonyane in the 53rd minute in favour of winger Mnyamane.
Majoro had another opportunity on the hour-mark to give City a two-goal cushion but missed from point-blank range.
The former Amakhosi striker was wasteful as he let slip another opportunity with the net gaping in the 72nd minute; however, Clayton Daniels did well to make his strike uncomfortable enough to miss with a timely tackle inside the box.
Mnyamane made it 1-1 in the 79th minute with a left-footed strike inside the box following a clever flicked pass from Grobler who put him through However, the forward pulled a hamstring in the process and was stretchered off the field.
Matsatsantsa had made all their three substitutions and now had to play the remainder of the match with a man down as the tie went into extra-time locked at 1-1.
The Citizens had a numerical advantage and it showed in the first half of extra-time, as they pushed Matsatsantsa back into their own half.
McCarthy's charges continued to dominate in the second half of extra-time but the Tshwane outfit held firm to force the match to a shootout where they came out on top.
Penalty shootout sequence: Lakay – saved, Grobler – scores, Fielies – scores, Furman – scores, Obinna – scores, Mokoena – scores, Moseamedi – saved, Wome – scores.