MELBOURNE has produced a stunning last-gasp surge to sink Port Adelaide by seven points in a thriller.

Ben Brown booted three goals including the go-ahead major in the last quarter of the Demons' 15.6 (96) to 13.11 (89) triumph at Adelaide Oval on Saturday night.

Melbourne trailed by four points at three-quarter time, but scored five goals to three in a frantic finale to celebrate ex-captain Jack Viney's 200th game with a victory.

The Demons (three wins, one loss) dished out the Power's first loss from three outings in a fluctuating fixture, where the margin was never greater than 18 points.

Melbourne's largely unheralded duo of Alex Neal-Bullen (two goals, 24 disposals) and Trent Rivers (27 possessions) were superb.

And their decorated trio of Max Gawn (50 hitouts, 20 disposals), Christian Petracca (23 touches) and Clayton Oliver (25) were all influential, while Bailey Fritsch and Tom Sparrow kicked two goals each.

Brown's third major with a tick over seven minutes left put the visitors in front, before Fritsch threaded the sealer from an acute angle some five minutes later.

Port was well served by veteran Travis Boak (24 disposals), Ollie Wines (25), Zak Butters (25) and skipper Connor Rozee (26, one goal), while Darcy Byrne-Jones, Willie Rioli and Jeremy Finlayson scored two majors each. 

Port's small forwards Byrne-Jones, Jed McEntee and Francis Evans all snapped goals within 15 minutes as the home side raced to an 18-1 lead.

The Demons booted the next three goals, only for Power forward Charlie Dixon to convert after the quarter-time siren to give his side a 4.1 to 3.2 lead.

That advantage disappeared within 15 seconds of the start of the second stanza when Sparrow scored the first of three Melbourne goals in an eight-minute burst to put the visitors up by 13 points.

Port rallied with the next trio of majors, and a late strike from Melbourne's milestone man Viney ensured the scores were locked at 7.3 apiece at half-time.

The game remained on a knife-edge in the third term until Port made a move, with ruck recruit Ivan Soldo and Todd Marshall, in his 100th game, booting goals for a 15-point buffer some 28 minutes in.

But when the Demons appeared in strife, they responded with long goals from Brown, followed by Gawn after the three-quarter-time siren.

Port led 10.8 to 10.4 at the last change, but Melbourne booted the initial three goals of the final term to sneak 14 points ahead, before Port's Finlayson and Rozee converted to again tie the scores.

Brown then converted after an overhead mark, and Fritsch coolly iced the win from a tight angle with two and a half minutes left.

PORT ADELAIDE    4.1    7.3    10.8    13.11 (89)
MELBOURNE          3.2    7.3    10.4    15.6 (96)

GOALS
Port Adelaide: Rioli 2, Byrne-Jones 2, Finlayson 2, Soldo, Rozee, McEntee, Marshall, Houston, Evans, Dixon
Melbourne: Brown 3, Neal-Bullen 2, Sparrow 2, Fritsch 2, Windsor, Viney, Pickett, Oliver, Langdon, Gawn, 

BEST
Port Adelaide: Drew, Houston, Rozee, Wines, Butters, Soldo
Melbourne: Neal-Bullen, Gawn, Petracca, Rivers, Viney, Oliver

INJURIES
Port Adelaide: TBC
Melbourne: TBC

SUBSTITUTES
Port Adelaide: Jase Burgoyne, replaced Francis Evans in the third quarter
Melbourne: Taj Woewodin, replaced Jack Billings in the fourth quarter

Crowd: 38,105 at Adelaide Oval