Portadown remain joint top of the Carling Premiership after this tough win over Dungannon Swifts.
But they made hard work of it especially in the second half when the Swifts fought back with a vengeance and it ended in drama when the Ports missed a penalty in the dying minutes.
The Swifts went ahead after seven minutes courtesy of a Shea Campbell header.
The Ports replied ten minutes later with another classic header from Wesley Boyle. The head of Campbell almost made it 2-1 for the Swifts from the restart. But this time keeper David Miskelly was perfectly positioned to parry the effort.
It was super stuff and a great angled goal from Kevin Braniff saw the Ports forge ahead on 28 minutes.
The second half started slowly with Dungannon causing the first scare on the hour when the ball flew across the goal to Darren Murphy but he shot weakly over.
And the same player came within a whisker minutes later when a swinging cross from the left confused the entire Ports defence and went just a couple of feet on the wrong side of the post.
The Ports should have made it three on 66 minutes when Matthew Tipton missed a golden opportunity. Tomelty virtually set the ball on his head but he miscued and put the ball well wide.
The drab second half sprang into life 15 minutes from time when shaky defence by the Ports saw Ross Redman hack the ball of the line twice in 15 seconds and the Ports swiftly broke away only to see a Braniff shot hit the post.
Portadown were awarded a penalty three minutes from time when Richard Lecky was hauled down but Braniff missed from the spot when keeper Niall Morgan made a simple save. And Braniff was again the villain when he was through one-on-one when again he was foiled by Morgan.
PORTADOWN: Miskelly, O’Hara, Breen, Redman, Mouncey, Boyle, McCabe, Mackle, Tipton, Braniff, Tomelty. Subs: Murphy, Paget, Burns, McCafferty (for Boyle 74m), Lecky (for Tipton 83m).
DUNGANNON SWIFTS: Morgan, O’Neill, Montgomery, McCaffrey, McClean, Fitzpatrick, Murphy, Topley, Ward, Campbell, P.Lavery. Subs: C Forke (for Campbell 68m), S. Lavery (for P. Lavery 58m), A Forker, McGerrigan (for McClean 78m).
Referee: Hugh Carvill (Belfast).