North Melbourne all-but cemented a finals berth in a dramatic 11-point win over Fremantle at Etihad Stadium on Sunday.
Nat Fyfe also went into the umpire's book after he made high front-on contact with Ben Jacobs in the third-quarter of the Kangaroos' 14.10 (94) to 12.11 (83) win.
Todd Goldstein battled Aaron Sandilands all afternoon in a fascinating ruck duel but bobbed up with two crucial goals - including the last major of the game - in the final quarter.
With skipper and leading goal kicker Matthew Pavlich out with an Achilles injury, Fremantle kicked seven goals in the opening term but struggled to find reliable avenues to goal from then on.
North were without suspended onballer Jack Ziebell, but it was their midfield brigade that worked them back into the contest after a slow start and provided their irresistible momentum in the last quarter when the Roos kicked five goals to two to seal a stunning win.
Lachie Neale provided the spark for the Dockers in the first quarter with 12 possessions as his side leapt out to 24-point lead at the first break.
The Kangaroos' intensity around the contest lifted sharply in the second term and Brent Harvey, who finished with four majors, capitalised on that good work with three first-half goals.
The Roos made it harder for Ross Lyon's men to transition quickly through the middle as they had done in the first quarter, with Michael Walters kicking their only goal for the term as the margin narrowed to 13 points at half-time.
The quality of the football after the restart wasn't befitting two sides with lofty ambitions, but the scrap suited North who clawed the deficit back to six points.
Jon Griffin stood tall to mark and kick the first goal of a frantic final term but the Kangaroos surged to the lead with the next three before holding out the ladder leaders.
NORTH MELBOURNE 3.2 6.5 9.8 14.10 (94)
FREMANTLE 7.2 8.6 10.8 12.11 (83)
GOALS
North Melbourne: Harvey 4, Waite 3, Nahas 2, Brown 2, Goldstein 2, Higgins
Fremantle: Sandilands 2, Griffin 2, Walters 2, Fyfe, Barlow, Mayne, Pearce, Johnson, Hill
BEST
North Melbourne: Cunnington, Goldstein, Brown, Harvey, Nahas, Tarrant, Wright
Fremantle: Mundy, Walters, Johnson, Spurr, Neale
INJURIES
North Melbourne: Nil
Fremantle: Nil
SUBSTITUTES
North Melbourne: Ryan Bastinac replaced Luke McDonald at three-quarter time
Fremantle: Matt De Boer replaced Tom Sheridan at three-quarter time
Reports: Nat Fyfe for rough conduct on Ben Jacobs in the third quarter
Umpires: Rosebury, Hosking, Meredith
Official crowd: TBC at the Etihad Stadium