The Demons won their third game for the season 15.11 (101) to 13.12 (90), after leading all afternoon and staving off a late Power surge.
Meanwhile, the result has put the Power's finals chances in jeopardy, as they will remain one game outside the top eight behind the seventh and eighth-placed Carlton and Essendon.
The result levels the ledger between the two sides for this season, after Port Adelaide won the first encounter by 57 points in round three at AAMI Stadium.
The win came with a cost for Melbourne with Daniel Bell dislocating his shoulder in what was his third game for the year.
Liam Jurrah was electrifying for the Demons with four goals and four assists, while Cameron Bruce and Brock McLean were consistent contributors in the middle.
James Frawley was terrific against Brett Ebert, Mark Jamar did well against Brendon Lade and Dean Brogan, and Ricky Petterd was sound up forward with 11 marks and four goals.
For Port, Dominic Cassisi was their best with 36 touches, eight tackles and eight clearances, while Kane Cornes had 35 and Steven Salopek took the ball inside 50 seven times.
Melbourne had the first two scoring opportunities of the game, but failed to register anything with Russell Robertson and Neville Jetta falling short.
The Power responded with two behinds before the first goal of the game after seven minutes and went to Matthew Bate.
Jurrah followed that up when he slotted a six-pointer after receiving a free kick from Michael Pettigrew, but the Demons' hard work came undone a minute later when Bell fluffed the kick-out and handed Lade a goal.
After Kane Cornes snared the next one and regained the lead, Jurrah entered the fray again and took back-to-back impressive marks to boot two goals in four minutes and give the Dees a 12-point lead.
Melbourne napped as the term wound down and Power consequently had the majority of the late play. They contributed 1.1 to their tally, but trailed by five points at the first change.
The Demons opened the second with a goal to Brent Moloney following an impressive goal-assist by Jurrah, which instigated some frustration from one of Port Adelaide's veterans.
Chad Cornes, in his first game since round 10, first handed the Demons a 50m penalty for an interchange infringement, before gifting them a goal two minutes later for upending Lynden Dunn at a throw-in.
Luckily for Cornes, Brogan kicked the next goal to end the Demons' run, which moved the Power back within 11 points.
However, Jurrah wasn't done yet. The young indigenous forward took a soaring grab over Pettigrew, which he unfortunately failed to convert, before acting as a decoy for Russell Robertson a minute later to enable another Demons' major.
Danyle Pearce kept the Power in it with an impressive snap goal, but Jurrah was involved in the next Melbourne assault and fired off a pass to Petterd that ended in a major.
A costly turnover in Melbourne's defence saw the next goal go to Salopek, but Aaron Davey got involved in the next three minutes to narrowly miss the big sticks before setting up Bate for his second.
Warren Tredrea kicked the last six-pointer of the term before the Demons took a 12-point lead into the second half after leading by as much as 19.
Melbourne exploded out of the blocks to kick the first three goals through Petterd, Jurrah and McLean, which opened up the biggest margin of the day - 32 points.
The Power hit back and increased their work rate dramatically to kick the next three, although it took them 10 minutes to do so. Rodan kicked the last when he found himself on his own and charging towards goal, which put his side within 14 points.
A late goal to Robertson gave the Demons a 19-point lead with a term remaining.
Port got the first major in the last term through Robbie Gray, but Petterd was quick to atone for it.
The sides traded behinds before the Power managed consecutive goals to Jason Davenport and Justin Westhoff, which cut the difference to seven points at the 13-minute mark.
From here, just one more goal would be scored and it would go to Petterd, which put the result beyond doubt as the Demons flooded back.
Melbourne now faces a trip down the highway to play Geelong at Skilled Stadium on Saturday, while Port Adelaide will host West Coast at AAMI Stadium on Sunday.
Melbourne 4.2 9.6 13.9 15.11 (101)
Port Adelaide 3.3 7.6 10.8 13.12 (90)
GOALS
Melbourne: Jurrah 4, Petterd 4, Bate 2, Robertson 2, Moloney, Dunn, McLean
Port Adelaide: K. Cornes 2, Lade 2, J. Westhoff 2, Brogan, Pearce, Salopek, Tredrea, Rodan, Davenport, Gray
BEST
Melbourne: Bruce, Jurrah, McLean, Petterd, Moloney, Jamar, Green, Frawley, Tredrea
Port Adelaide: Cassisi, K. Cornes, Salopek, Thurstans, Davenport, Rodan
INJURIES
Melbourne: Bell (shoulder)
Port Adelaide: Brogan (ribs)
Reports: Nil
Umpires: James, Sully, Wenn
Official crowd: 15,888 at the MCG
The views in this story are those of the author and not necessarily those of the AFL or the clubs.
Vote for your best on ground now - Carlton Natural Blonde People’s Champion