North Melbourne has come from behind to overrun Port Adelaide, with veteran Brent Harvey kicking crucial late goals to seal the seven-point win at Etihad Stadium on Sunday evening.
After a stuttering start to the season, the Kangaroos found their mojo in the second half and reeled in the Power to win 14.13 (97) to 13.12 (90).
Harvey was well-held for most of the evening by Matt White, but he rose when it mattered to kick two goals in the last quarter and seal the win.
Port, who had been unstoppable in final quarters before round three, was hit by injuries to forward Angus Monfries, substituted with a hamstring injury, and Chad Wingard, who played through an ankle complaint.
PRESS PLAY above to watch the match highlights | YouTube
The Kangaroos, meanwhile, lost Jamie MacMillan to a right leg injury, with defender Lachlan Hansen also sidelined for a period in the third term with a finger injury.
Even umpire Jason Armstrong had an early end to his day after being bowled over by Port Adelaide ruckman Matthew Lobbe in the second quarter.
Young midfielders Ben Cunnington (30 possessions and nine clearances) and Levi Greenwood (34 and six inside 50s) were outstanding for the Kangaroos, with Harvey and Lindsay Thomas kicking three goals each.
Ruckman Todd Goldstein (33 hit-outs and a goal) and veteran Nick Dal Santo (30 possessions and a goal) also lifted in the final term.
"All it did was really confirm what I've always thought about Ben Cunnington," North Melbourne coach Brad Scott said after the match.
"He's just a terrific player in the contest and he was enormous for us today.
"And Levi Greenwood's just the player you love to coach because he's just a natural competitor – he knows no other way than 100-miles an hour at the ball and he's a good athlete. I thought he was fantastic for us."
It looked to be a case of Port Adelaide by how much in the first quarter as it raced to a 20-point lead with the first three goals of the game.
North Melbourne worked back into the contest, chiefly through Thomas, who kicked his three goals in the first half, and Cunnington, who had 11 possessions (seven contested) and four clearances in the second term.
By half-time the Roos had snatched a one-point lead, but a concern for coach Brad Scott would have been his team's inability to turn clearance wins into inside 50s, trailing in that indicator 18-30 at the main break.
The lack of forward entries hurt North Melbourne's tall forwards, with Drew Petrie, Aaron Black and Daniel Currie combining for three marks and one goal in the first half.
The Power surged in the third term, kicking five goals while the Roos wasted their opportunities to kick 2.8 and trail by 10 points at the last change.
Ranked No.1 in the AFL in fourth quarters, the script appeared clear cut for Port, but it couldn't muster its usual running power.
Midfielders Hamish Hartlett (21 possessions and two goals) and Robbie Gray (24 and seven clearances) led the way for the visitors.
Wingard kicked two goals, but injured his ankle when he was tackled converting the second in a tackle.
North Melbourne faces the Sydney Swans (SCG), Collingwood (MCG), Fremantle (Patersons Stadium) and Gold Coast (Etihad Stadium) before its round eight bye.
Port Adelaide takes on the Brisbane Lions (Adelaide Oval), West Coast (Patersons Stadium), Geelong (Adelaide Oval) and Greater Western Sydney (Spotless Stadium) over the next month.
NORTH MELBOURNE 3.2 7.3 9.11 14.13 (97)
PORT ADELAIDE 4.3 6.8 11.9 13.12 (90)
GOALS
North Melbourne: Thomas, Harvey 3, Mullett 2, Black, Macmillan, Thompson, Goldstein, Dal Santo, Jacobs.
Port Adelaide: Schulz 3, Monfries, Wingard, Hartlett 2, Wines, Westhoff, Boak, Braodbent.
BEST
North Melbourne: Cunnington, Greenwood, Thomas, Bastinac, Atley, Harvey
Port Adelaide: Hartlett, Gray, Ebert, Wines, Carlile, Boak, Schulz
INJURIES
North Melbourne: Jack Ziebell (shoulder) replaced in selected side by Ben Jacobs, Jamie Macmillan (right ankle).
Port Adelaide: Angus Monfries (right hamstring).
SUBSTITUTES
North Melbourne: Jamie Macmillan (ankle) replaced by Ben Jacobs in the third quarter.
Port Adelaide: Angus Monfries (hamstring) replaced by Jasper Pittard in the third quarter.
Umpires: Wenn, Findlay, Armstrong
Crowd: 19,111 at Etihad Stadium