Adam Taggart was Glory's hero on Saturday night as his injury-time header secured a dramatic, come-from-behind win over Melbourne City at nib Stadium.
Neil Kilkenny had earlier come back to haunt his former club, cancelling out a fine first-half effort from Daniel Arzani by rifling home from just inside the box with only six minutes left.
By that time, the visitors had been reduced to ten men after losing Bart Schenkeveld to a second yellow card and the hosts made their numerical superiority pay right at the death.
The victory, Glory's fifth at home this season, moves them to within four points of the top six with six games left to play.
The opening five minutes were characteristic of what has become a highly-entertaining fixture in recent years, with Jacob Italiano’s adventurous run down the left wing eventually leading to a headed chance for Andy Keogh, but the skipper’s effort fell straight into the grateful arms of City 'keeper, Dean Bouzanis.
At the 10th minute-mark, the entire stadium rose to their feet in applause to honour the life of the late Liam Miller, in what was a fitting and touching tribute to the former star midfielder.
In what was a fairly evenly-contested first half, City created several decent opportunities before Arzani broke the deadlock with a superb solo goal.
On the stroke of half-time, the highly-rated attacker found space on the left-hand side, wriggled free of Dino Djulbic and bent a right-footed strike into the top corner to send the visitors into the break with their noses in front.
Glory pressed hard to equalise from the outset in the second stanza, with Italiano almost immediately forcing Marcin Budzinski into a goal-line clearance. A swiftly-taken corner had allowed the teenager to dribble into the area and cut onto his right-foot before lashing in a low shot that was destined for the bottom corner before the Pole's timely intervention.
Joel Chianese was next to threaten the City goal, with Castro’s dazzling feet and through-ball creating a great opportunity, but Bouzanis was able to parry away the winger's fizzing strike. Just moments later, the same duo combined again as Chianese met Castro's cut-back only to see his strike deflected over the bar.
The introduction of Adam Taggart and Andreu just shy of the hour-mark visibly lifted the hosts and with the Victorian side pinned in their own half, Schenkeveld received his second yellow and marching orders for a foul on Joseph Mills.
Glory were finally rewarded for their efforts with four minutes of normal time remaining, as former City Player of the Year Kilkenny dispatched the ball into the bottom corner from Chianese’s deflected cut-back.
And as they continued to surge forward, it was Taggart on his return from injury who sent the nib Stadium crowd into raptures by bagging the winner in the 96th minute. The ubiquitous Chianese delivered a pin-point cross to the back post and the 24-year-old striker made no mistake from close-range.
Perth Glory 2 (Kilkenny 86', Taggart 90+7') Melbourne City 1 (Arzani 44')
Referee: Shaun Evans
Perth Glory: 33.Liam REDDY (GK), 2.Alex GRANT, 4.Shane LOWRY, 7.Joel CHIANESE, 8.Xavi TORRES (18.Andreu GUERAO 58'), 9.Andy KEOGH (c), 16.Joseph MILLS, 17.Diego CASTRO (20.Jake BRIMMER 80'), 23.Scott NEVILLE, 26.Jacob ITALIANO (22.Adam TAGGART 57'), 88.Neil KILKENNY
Substitutes not used: 13.Nick FEELY (GK), 37. Walter SCOTT
Yellow cards: Neville 23', Taggart 90+7'
Red cards: None
Melbourne City: 1. Dean BOUZANIS (GK), 3. Scott JAMIESON, 5. Bart SCHENKEVELD, 7. Nick FITZGERALD, 8. Oliver BOZANIC, 10. Dario VIDOSIC, 14. Daniel ARZANI (4. Harrison DELBRIDGE 67'), 22. Michael JAKOBSEN (C), 26. Luke BRATTAN, 27. Marcin BUDZINSKI (23. Burno FORNAROLI 87'), 37. Nathan ATKINSON (11. Bruce KAMAU 75')
Substitutes not used: 18. Eugene GALEKOVIC (GK), 39. Anthony LESIOTIS
Yellow cards: Schenkeveld 56', 67'
Red cards: Schenkeveld 67'