The home side went in front on 12 minutes as David Fisher collected the ball on the right hand corner of the penalty area.
He cut back inside and ran across the edge of the penalty area before firing a fierce strike into the top corner, helped by a slight deflection off the head of Carrick defender Luke McCullough.
Glentoran should have doubled their lead early in the second half when Paddy McClean’s close-range header from Daniel Amos’ corner was blocked and Frankie Hvid, at full stretch, fired the rebound over from virtually on the goal-line.
The home side came close on the hour mark when Fisher’s effort from an acute angle thumped off the angle of post and crossbar.
Carrick had a let-off when James Singleton’s header from an Amos corner slipped under the foot of Danny Gibson, who was defending on the goal-line, and appeared to cross the goal-line before being cleared but neither referee Steven Gregg nor his assistant awarded a goal.
That incident became all the more important on 79 minutes as Carrick equalised when Heatley stood up a cross to the back post which was nodded home by Gibson.
There was still time for more late drama as Glentoran missed an injury time penalty, awarded after referee Steven Gregg adjudged that Kurtis Forsythe, at full stretch, had blocked Daniel Amos’ cross with his hand.
After a lengthy delay, Donnelly, who earlier missed an effort from five yards, took the spot kick but Ross Glendinning dived to his left to save and earn Carrick a vital point.