GREATER Western Sydney has jumped back into top-four contention while delivering a blow to Melbourne in a thrilling two-point win at the MCG.

The determined Demons stormed out of the blocks on Saturday night to lead by 27 points at quarter-time.

But the Giants booted 12 of the next 15 goals to set up the 13.7 (85) to 12.11 (83) victory in front of just 16,246 fans.

GWS endured some tense moments late when Melbourne kicked three-straight goals to cut the margin to eight points with five minutes remaining.

Melbourne's Alex Neal-Bullen snapped an unlikely goal with 70 seconds left to give the Demons a chance to pinch a classic win.

But Giants star Tom Green surged the ball out of the next centre clearance and GWS was able to do enough to secure its 12th win of the season.

Veteran Callan Ward put his side in front for the first time with two minutes remaining in the third quarter, allowing the Giants to lead by three points at the final change.

But GWS finished Melbourne by slamming through four goals in the first five minutes of the last quarter.

After kicking just one goal in the first-half, star forward Jesse Hogan added three more from late in the third quarter to early in the last to hurt his former club.

Young Giants midfielder Finn Callaghan was outstanding with a career-high 36 possessions, while Green (33 touches, nine clearances) impressed just days after he was reprimanded by the AFL for a rant on his podcast.

Melbourne midfielder Clayton Oliver recaptured some of his best form by collecting a team-high 26 disposals, while star ruck Max Gawn still looked hampered in his first game back from a leg injury.

The Demons could finish the round a game and percentage outside of the top-eight with four games left, and will next face the Western Bulldogs at Marvel Stadium on Friday, while the Giants host Hawthorn at Manuka Oval in Canberra next Sunday.

MELBOURNE                             5.5    6.7    8.9   12.11 (83) 
GREATER WESTERN SYDNEY   1.2    6.4    9.6    13.7 (85)

GOALS
Melbourne: Fritsch 2, Chandler 2, van Rooyen, Petty, Melksham, Langdon, Gawn, Viney, Pickett, Neal-Bullen
Greater Western Sydney: Hogan 4, Greene 3, Daniels 2, Ward, Bedford, Green, McMullin,

BEST
Melbourne: Rivers, Viney, May, Oliver, Langdon
Greater Western Sydney: Green, Greene, Hogan, Daniels, Callaghan, Whitfield

INJURIES
Melbourne: Nil
Greater Western Sydney: Nil

SUBSTITUTES
Melbourne: Daniel Turner, replaced Jack Billings at three-quarter time
Greater Western Sydney: Joe Fonti, unused

Crowd: 16,246 at the MCG