Linfield came from behind to defeat Dungannon and keep alive their faint hopes of retaining the league title.
Ryan Harpur fired in the opener for the Swifts after the ball deflected into his path before Brian McCaul headed home a deserved 25th minute equaliser.
Substitute Gary Browne shot the Blues into the lead on 68 minutes and Philip Lowry made it 3-1 before Mark McAllister added a late fourth.
Linfield are 15 points behind leaders Cliftonville with 10 games remaining.
The champions dominated the early stages on a heavy Stangmore Park pitch and Michael Carvill rifled against the base of a post.
Harpur gave the hosts a surprise lead on 19 minutes after Matt Hazley's shot deflected off keeper Ross Glendinning.
McCaul finished at the back post from a Carvill cross but Swifts keeper Johnny Curran denied Matthew Tipton two minutes later after the striker was put clear on goal.
Browne replaced the injured Tipton and he latched on to McAllister's throughball before beating the advancing Curran midway through the second half.
Browne was the provider for Lowry's goal three minutes later, the midfielder needing two attempts to find the goal.
McAllister completed a comfortable win against his former club with two minutes left.
The Blues close the gap to three points on second-placed Crusaders while Dungannon remain 10th.