The hosts should have gone in front in the second minute as the recalled James Teelan crashed a shot off the inside of the post after breaking free down the left-hand side.
The rebound fell nicely for Flanagan, eight yards out from goal and with Andrew Mills prostrate on the ground, but the forward blazed his first-time effort over the bar.
Glentoran finally clicked into gear in the 19th minute as Greg Sloggett's low cross flicked off Jordan Jenkins, forcing Aaron McCarey to get down and smother the ball at the near post.
The visitors then struck the woodwork with Cooney's looping cross beating everyone before coming back off the bar for Ross Clarke, who screwed the rebound wide.
James Singleton was next to threaten in the 32nd minute as he got on the end of a Conor McMenamin corner, but he failed to direct his header on goal.
The second half started in a similar vein as Lee Chapman threaded a superb long pass into Teelan's path, but the forward's first touch evaded him with the ball running through to a grateful Mills.
The Glentoran stopper nearly had a moment to forget on 54 minutes as he flapped at a Teelan cross, with half-time substitute Marcus Kane rescuing him by hacking the loose ball away.
The hosts continued to press with Baris Altintop heading a Matthew Carson free-kick inches over, before Flanagan blazed another effort off target.
Substitute Jordan Stewart showed his attacking intent at the other end as he drew a smart save out of McCarey on 67 minutes.
Portadown should have edged in front with 14 minutes to go as O'Mahoney King nicked the ball past the despairing slide of Kane to race away down the right.
With Kennedy waiting in front of goal, the ball inside was behind the forward and he failed to get the right purchase on the shot, allowing Mills to gather as the Ports squandered the chance to claim all three points.