New signing Koketso Mmotong was the hero with a brace, with Siyabonga Nomvete adding a third in injury time.
David Mathebula got the goal for Aces.
This is Swallows’ second consecutive win, after they beat Bidvest Wits 1-0 last weekend, and takes them a step further from relegation.
Both teams started the game on a flyer, but surprisingly Swallows faded as the game progressed, allowing Aces to dictate terms in their own capital.
However, ultimately it was a well deserved victory for Swallows, who showed little respect for their opponents in the second half.
Aces have only themselves to blame for missing chances they created in the first half and losing concentration at the back when it mattered most.
Aces could have gone to the break with a 2-0 lead, but Lethola Mofokeng and Thabang Rooi could not convert their scoring opportunities.
In the second half, Gordon Igesund responded with appropriate decisiveness, throwing on Lefa Tsutsulupa and Shaun Haschick for Morgan Shivambu and Tshepo Ramokala.
The home side then applied themselves, and in the 62nd minute their energy was rewarded, with Mmotong connecting with Nomvete’s cross to beat Francis Chansa with a diving header.
However, their celebrations lasted for only eight minutes as David Mathebula came like a thief in the night to steal a 70th minute equaliser and his first goal for Aces.
As if not to be outdone, Swallows surged forward and regained the lead in the 84th minute via Mmotong’s conversion from an awkward angle.
Nomvete got a third to seal the result in injury time.