Musa Bilankulu and Mxolisi Machuphu found the back of the net for the home side, while the visitors played the last half hour with 10 men following the dismissal of defender Sibusiso Khumalo.
Swallows threatened to open the scoring as early as the second minute when Felix Obada met a free-kick from Lerato Chabangu at the near post, but he failed to hit the target and his header sailed wide of the upright.
Four minutes later debutant Bhekisizwe Nkosi collected a low cross from Bonginkosi Ntuli just inside the box, only to curl his shot wide of the post, and Norman Smith fired over the crossbar from distance a minute later.
Arrows had their first attempt on target in the 14th minute as Ritus Krjauklis drilled a low shot towards goal from inside the penalty area, but the Latvian defender was denied by Aubrey Mathibe's outstretched leg.
Five minutes later David Mathebula unleashed a powerful shot from outside the penalty area, but it failed to trouble the goalkeeper, going just wide of the post.
Arrows broke the deadlock in the 25th minute when Bilankulu scored with a glancing header off a corner from Sibusiso Hadebe.
Swallows had a chance from a corner on the half-hour mark, but Ashraf Hendricks directed his header straight at the keeper.
Just before the break Chabangu collected a pass from Lefa Tsutsulupa and had a shot from a tight angle, but it was parried wide by Pavels Steinbors.
Manqoba Mngqithi's men came close to extending their lead in the 60th minute but Nkosi headed Ntuli's cross wide at the far post.
Chabangu then sent his free-kick over the crossbar in the 71st minute, while Smith drilled his shot wide at the other end eleven minutes later.
Then, three minutes, from time, substitute Katlego Mashego managed to get a free-kick on target, but Steinbors moved quickly to his right to keep the ball out.
Arrows put the result beyond doubt in the first minute of added time as Machuphu poked the ball past Mathibe from inside the box, finishing a move which he started in midfield.
The result sees Arrows moving up to 12th place with 13 points, while Swallows drop down to 11th with 14 points.