The visitors created the first clear opening on 18 minutes when Tiarnan Mulvenna’s free-kick caused real confusion and Ben Cushnie met the set piece, but Aaron McCarey stood firm to deny his former Glentoran teammate.
Bangor thought they had found the opener soon after when Ben Arthurs latched onto Cushnie’s through ball and finished calmly, but the assistant’s flag cut short the celebrations.
That warning stirred the hosts into life with Eamon Fyfe’s dipping free-kick catching Gareth Deane off guard, and Lewis MacKinnon hurling himself at the loose ball, rattling the rebound against the bar from close range.
Moments later, the Mid Ulster outfit were stretched again as Reece Neale’s corner swung dangerously towards goal, but McCarey reacted sharply to tip the strike onto the post.
The Ports’ frustration deepened on 35 minutes when Lee Chapman followed up Fyfe’s effort and found the net, only for another offside call to deny Niall Currie’s side.
The breakthrough finally arrived a minute later. Ben Wylie clipped a neat pass into the area, the Bangor defence hesitated, and Fyfe darted through to guide a crisp finish into the far corner for his second of the season against Lee Feeney’s men.
Bangor hit back within minutes of the restart, Arthurs muscling his way into the box after outpacing Steven McCullough and poking home at the second attempt for his sixth league goal of the campaign.
The result means the home side slip to 11th while Bangor remain in the top half.