After a cagey start, Glentoran had the first opening when Jordan Jenkins connected with a Danny Amos corner, but his hooked effort landed on top of the net.
Almost straight away, at the other end, Luke Wilson had a sight of goal from the edge of the penalty area, but he dragged his effort wide of the far post.
The Ports came even closer on 18 minutes when Fyfe lined up an ambitious-looking free-kick from fully 30-yards, but his well-struck effort came off the base of the post with Glens keeper Andrew Mills beaten.
Glentoran threatened again when a deft touch from Hoban put Josh Kelly clear in the penalty area but, under pressure from Steven McCullough, he opted to cross rather than shoot and the chance disappeared.
The deadlock was broken when referee Ben McMaster adjudged that Lewis Mackinnon's challenge on Pat Hoban was just inside the penalty area and Hoban tucked the resultant spot kick beyond the reach of Alex Moore in the 39th minute.
Portadown levelled just after the hour mark when Teelan beat Ryan Cooney to a loose ball in the penalty area with Fyfe getting the faintest of touches at the near post to divert his resulting cross home.
Glentoran regained the lead with 20 minutes left when Danny Amos' superb cross from the left was met by the head of Hoban who steered home his effort from inside the six-yard box.
Portadown came close to an equaliser in the closing stages when Teelan's cross deflected off defender Shane McEleney and unwittingly came off the chest of Glens' keeper Andrew Mills, but Glentoran held on to go joint top of the table.