Thompson gathered a game-high 33 disposals as Adelaide continued Melbourne's miserable season with a 18.12 (120) to 7.10 (52) win at AAMI Stadium.
Thompson, who left the Demons after the 2004 season to join Adelaide, was a standout, Lewis Johnston kicked six goals, Sam Jacobs ruled the rucks and first-year Crows Mitch Grigg and Brad Crouch were influential.
Melbourne forwards Jeremy Howe, Jack Watts and Colin Sylvia each kicked two goals and Nathan Jones and Jack Grimes battled gamely against the tide.
The Demons had the better of a lacklustre opening term, kicking 2.3 to 1.2, but lost David Rodan, who was substituted at quarter-time with a left ankle injury.
Melbourne then went missing in a costly second-term slumber when the Crows piled on five goals in 10 minutes.
Adelaide's goal spree went unanswered by the visitors, who didn't score at all until Howe kicked his second goal more than 26 minutes into the quarter.
The Crows led 7.4 to 4.5 at halftime and were propelled by their dual club champion Thompson, who collected 22 disposals to the main break, and ruckman Jacobs, who logged 23 hit-outs for the half.
Any hope of a Melbourne rally was terminated by two atrocious discipline lapses which book-ended the third term.
Four minutes into the quarter, defender Lynden Dunn inexplicably punched Andy Otten in the chest some 100 metres off the ball - the blow contained little force but was spotted by the umpire and the Crow goaled from 20 metres out.
And the last act of the quarter was another woeful Melbourne moment: Tom McDonald was outmarked by Adelaide forward Johnston but then knocked the ball from the Crow player's hands.
McDonald was penalised 50m but didn't even bother to stand the mark, allowing Johnston to stroll to the goalline to score.
Johnston potted four of his six majors in the last quarter of a game which was Adelaide's last at AAMI Stadium - they move to a redeveloped Adelaide Oval next season.
ADELAIDE 1.2 7.4 11.8 18.12 (120)
MELBOURNE 2.3 4.5 5.9 7.10 (52)
Goals: Adelaide - Johnston 6; Callinan, Douglas 2; Otten, Talia, Grigg, van Berlo, Dangerfield, Jacobs, Kerridge, Thompson. Melbourne - Sylvia, Howe, Watts 2; Tapscott.
Umpires: Sam Hay, Jason Armstrong, Craig Fleer.
Official Crowd: 34,653 at AAMI Stadium.