Wits played some quality passing football, and with the result moved up to third on the League table – until Wednesday's fixtures get underway.
Although Siboniso Gumede was the official Man of the Match on the night, it was Kadi's performance in the heart of attack that stirred the home side to victory.
The 24-year-old initiated most of Wits' offensive moves, and created the first goal of the game in the 42nd minute with sublime skill and drive.
It was also Kadi who had the first real chance of the match, when in the 10th minute he latched onto a cross with a firm header, but his effort was well saved by Greg Etafia.
Kadi continued to cause problems for the Birds defence, who seemed to have no answer for his mesmerising runs down both flanks, but despite his attacking prowess he could not find a teammate to finish off what he started.
In the 35th minute he did manage to pick out Sibusiso Vilakazi just inside the box, whose shot was well saved again by Etafia, diving to his right, and the keeper was lucky when Letsie Koapeng was ruled offside when he pounced on the rebound.
In fact, it was Swallows who should have taken the lead in the 40th minute when Ashraf Hendricks had a free header inside the box after a corner, but his attempt went wide.
Two minutes later, Swallows were made to pay for that glaring miss when Faty gave the home side the lead.
Kadi created the goal as he drove into the box and fired a shot goalwards which was parried by Etafia straight into the path of Faty, who produced a clinical finish to give his side the lead going into the break.
Swallows got more of the play in the second half, after Kadi had to leave the field injured in the 64th minute.
Wits did suffer some scares in front of goal, but Swallows' finishing left something to be desired.
As the Birds chased the game they left themselves exposed at the back, and they were punished by second-half substitute Nato in the 84th minute.
Seconds after coming on, and with virtually his first touch of the game, he concluded a quick break with a clinical finish to seal the win.
The night ended on a rather sour note as Ebrahim Seedat was given a straight red card while sitting on the bench for something he said to the referee, after a dangerous tackle by Hendricks one of the Wits players.