Michael Walters' heroics have ended Melbourne's AFL dreams with the Fremantle star revelling in the wet to inspire the Dockers to a 14-point win in Cairns.
In a dour scrap, Walters booted three of Fremantle's six goals as the Dockers claimed their sixth win of 2020 in difficult conditions on Monday night.
Melbourne coach Simon Goodwin made seven changes for the must-win clash at Cazaly Stadium, but the Demons were still well off with the Dockers prevailing 6.11 (47) to 4.9 (33).
They could have jumped back into the top eight with a victory, but instead Melbourne trailed all night and never looked like winning until a mini-charge late in the final term.
The Demons' first goal didn't come until 17 minutes into the second quarter, with Walters kicking the only other major of the first half.
With the game in the balance nearing three-quarter-time, Walters slotted two goals to give the Dockers a 17-point lead at the final change.
A goal-of-the-year contender by Fremantle young gun Adam Cerra from the pocket 10 minutes into the final quarter was the final nail in Melbourne's coffin.
After Cerra's goal, the Demons finally lifted as Aaron vandenBerg and Bayley Fritsch quickly doubled their team's goal tally from the previous 80 minutes, but they left their run too late.
To qualify for just their second finals appearance in 14 seasons, the Demons will now have to win their remaining games against GWS and Essendon and rely on other results to fall their way.
Walters stood out from the rest in a game when matchwinners were hard to find.
After the 29-year-old's first major in the opening term, the midfield-forward passionately grabbed his jumper, in a pointed gesture following a Channel Seven report suggesting he was unhappy at Fremantle.
Midfield bulls Jack Viney, Clayton Oliver and Christian Petracca, in his 100th AFL game, were Melbourne's best.