After a delayed start due to the ominous weather, the encounter finally got underway with a free-kick from United falling to James Keene who mistimed the effort with a poor finish.
Another good chance fell to Phumlani Ntshangase minutes later, but the versatile player was unable to cap off the move following a nice assist from Jamie Webber.
City’s first shot on goal finally arrived as a nicely constructed move from the back found Gift Links but the end result flew over the top.
City debutant Kermit Erasmus showed good touches on the ball, but was not presented with an opening chance at goal closer to halftime.
In the second half, United created a good chance closer to the box but a solid defensive block from the visitors kept them at bay.
After 57 minutes, Matsatsantsa needed the presence of Ronwen Williams rushing off his line to prevent a golden chance following a defensive blunder.
The Citizens rang the changes in search of ascendancy in the clash, as Craig Martin came on for Surprise Ralani and Ayanda Patosi for Siphelele Mthembu later on.
This nearly proved a master stroke of note as a cross from Martins connected with Erasmus, who controlled well before shooting wide in the final quarter.
The Citizens were rewarded though in the last minute of regulation time when Links volleyed home at the back post, with the ball creeping in off the left-hand post before finding the net.
In added time, United saw a half-hearted appeal for a penalty after suspicion of handball fell on deaf ears with the officiating team brushing aside the appeal as the Citizens claimed the spoils.
SuperSport: Williams, Kekana, Gould, Khumalo, Bhasera, Webber, Ntshangase, Mokoena (Malinga 70’), Modiba, Rusike (Mahlatsi 75’), Keene.
Subs: Pule, Letsholonyane, Mutale, Malinga, Nhlapo, Mahlatsi, Mbule.
City: Stephens, Mngonyama, Fielies, Edmilson (Mkhize 65’), Seedat, Links, Putsche, Mokeke, Ralani (Martin 54’), Mthembu (Patosi 67’), Erasmus.
Subs: Leeuwenburgh, Mkhize, Cupido Modise, Norodien, Martin, Patosi.