Glentoran ended a run of four games without a win by securing a deserved Premiership victory over the Swifts.
Marcus Kane headed the hosts ahead from Mark Miskimmin's cross but a Jamie Douglas header brought Dungannon level.
Glens midfielder Mark Clarke saw his deflected shot fly wide before Miskimmin headed in the winner from a Jason Hill cross after 54 minutes.
Gareth Buchanan kept out a Jason Hill penalty with the full-back also missing an open goal in the dying seconds.
Glentoran dominated from the start and should have won by a greater margin, but they squandered chances and found Buchanan in top form.
Kane netted after nine minutes while Douglas met a deep cross to nod home the equaliser eight minutes later.
Clarke and Jim O'Hanlon went close for the hosts before the break and it took a classy move for the Glens to clinch the three points, ending with Miskimmin finishing from an inswinging Hill cross.
A trip on Jordan gave Hill the chance to add a third but Buchanan dived full-stretch to save the spot-kick after 85 minutes.
Buchanan pushed up in injury-time as Town chased an equaliser but Glentoran broke quickly, only for Hill miss an unguarded net from 25 yards.
"It was tense finish but it was a hard-earned three points and we're delighted to get the win," said Glens boss Eddie Patterson.
"We knew it was going to be tough against the Swifts but we played some good stuff and it's great to get the reward for it."