The Bombers kicked 17.18 (120) to 17.11 (113).
Port Adelaide led by as much as 34 points when Jay Schulz goaled at the seven-minute mark and looked set for its third win of the season.
But the Bombers slammed on the next seven goals, five of which came in a 10-minute burst.
The Bombers, who have the bye next week can only watch on in hope that the Sydney Swans or St Kilda suffer heavy defeats if they are any chance of rising from eighth position and a likely elimination final against Carlton.
The second quarter gave a glimpse to the future as two of the game's most exciting young tall forwards did their best to grab the game for each of their teams.
Michael Hurley took two convincing marks and kicked two goals in a two-minute burst midway through the second quarter, then third-gamer John Butcher booted three goals for Port from strong marks.
Hurley and Butcher finished with four goals each and made what could have been round 23's afterthought into an enthralling contest.
Most expected Essendon to wake from its slumber at some stage of the game and a four-goal run at the opening of the second quarter suggested that common sense had returned after Port Adelaide's solid start.
But the Power slammed on 11 of the next 12 goals to open up the lead.
Essendon had its chances in the third quarter and probably had more of the play. But the Bombers could only kick 1.7 as poor decision making and poor discipline, particularly from Kyle Reimers let them down.
Travis Colyer ignited some energy when he was substituted on for Cale Hooker in the third quarter and was a key factor in turning the game around.
David Hille ran himself into the ground in the final quarter trying to wrestle back the lead while Colyer, Ben Howlett and Jobe Watson moved the ball quickly and dangerously.
But Reimers redeemed himself to an extent by kicking one of the vital final-quarter goals.
Essendon 5.1 9.5 10.12 17.18 (120)
Port Adelaide 4.5 10.7 13.10 17.11 (113)
GOALS
Essendon: Hurley 4, Carlisle 2, Jetta 2, Davey 2, Heppell, Hille, Zaharakis, Ryder, Colyer, Reimers, Monfries
Port Adelaide: Gray 6, Butcher 4, Schulz 3, Cassisi, Salopek, O'Shea, Banner
BEST
Essendon: Hurley, Hille, Zaharakis, Heppell, Watson, Colyer, Ryder
Port Adelaide: Gray, Rodan, Boak, Butcher, Schulz, Motlop
INJURIES
Essendon: Nil
Port Adelaide: O'Shea (ankle)
SUBSTITUTES
Essendon: Cale Hooker replaced by Travis Colyer during the third quarter
Port Adelaide: Cameron O'Shea (ankle) replaced by Matthew Broadbent during the third quarter
Reports: Nil
Umpires: Hay, Jennings, McInerney
Official crowd: 34,849 at Etihad Stadium