Portadown's title hopes were dealt a blow after suffering a surprise defeat to the Swifts at Stangmore Park.
Ports keeper David Miskelly kept his team in the contest with four first-half saves to deny Johnny Topley.
Sean Mackle hit the post for the visitors before Sean Friars broke the deadlock by tapping-in from Marc Brolly's cross close to the break.
Stefan Lavery lobbed Miskelly to double the lead and the Ports are now seven points behind pacesetters Linfield.
Lavery scored just eight minutes after coming on as a substitute, latching on to Niall Morgan's long goal-kick before lifting the ball over Miskelly.
Portadown forward Kevin Braniff found the net late on but it was ruled out for offisde.