First-half goals from Mitch Nichols and Xavi Torres and a late effort from substitute Mitch Mallia helped steer Glory to a superb 3-1 win over ten-man Melbourne City at AAMI Park.
The three meetings between the two sides last season yielded no fewer than 17 goals and there was excitement aplenty once again on a rainy night in the Victorian capital.
A deflected strike from Nichols gave Kenny Lowe's side an early lead which was cancelled out when McCormack bagged his fifth goal of the season via a stunning free-kick.
Torres duly restored Glory's lead just before half-time, however, converting from the spot after the VAR had been used to adjudicate that Osama Malik had fouled Jacob Italiano in the box.
And to compound Malik's misery, he received a straight red for his challenge on the 16-year-old.
City rallied after the break and applied some concerted pressure, but the visitors eventually sealed their victory six minutes from time when Mallia pounced upon an error from Nick Fitzgerald and stroked home his first goal for the club.
The victory extended Glory's unbeaten run at AAMI Park to four games and lifted the WA side into fourth spot, at least temporarily.
Andy Keogh's thunderous effort, which flashed inches over the crossbar after six minutes, set the tempo for what was arguably Glory's brightest opening 45 minutes of the season so far.
With Italiano a constant threat down the left, Nichols and Torres prominent in the middle and Shane Lowry continuing his fine form at the back, Glory more than matched the hosts and deservedly took the lead on 12 minutes.
After Brandon Wilson broke up a City attack on the edge of his own box, Italiano and Keogh combined to tee up Nichols whose low drive from just outside the box found the net via a deflection that wrong-footed Eugene Galekovic in the home goal.
Unfortunately Keogh was duly forced from the field by injury and Glory were dealt another blow shortly after the half-hour mark when Alex Grant was penalised for a foul on Bruce Kamau and McCormack bent home the resulting free-kick from 22 yards out.
The half then ended in drama with the VAR at the heart of it once again as Malik's studs-up challenge on Italiano was deemed worthy of a red card and a penalty and Torres calmly sent Galekovic the wrong way from the spot.
The second half began in similarly lively fashion with Lowry coming agonisingly close to extending Glory's lead when he was first to meet Torres' inswinging free-kick, but sent his sliding effort straight at Galekovic.
Despite their numerical inferiority, however, Warren Joyce's side were still a threat going forward, with former Glory man Scott Jamieson testing Reddy out from range and Marcin Budzinski then dragging a low shot across the face of goal when well placed.
As the game moved into its final quarter, Tim Cahill was introduced from the bench for City, but the Socceroos star could only stand and watch as last-man Fitzgerald had his pocked picked by Mallia on the halfway line and the former Sydney FC winger raced clear before beating the exposed Galekovic with a composed finish to make it 3-1.
Melbourne City FC 1 (McCormack 31') Perth Glory 3 (Nichols 12', Torres (pen) 43', Mallia 84' )
AAMI Park, Melbourne
Referee: Daniel Elder
Assistant Referee 1: Luke Brennan
Assistant Referee 2: Daniel Ilievski
Fourth Official: Jack Morgan
Video Assistant Referee: Craig Zetter
Melbourne City FC : 18.Eugene GALEKOVIC (gk), 3.Scott JAMIESON, 5.Bart SCHENKEVELD, 6.Osama MALIK, 7.Nick FITZGERALD, 11.Bruce KAMAU (2.Manny MUSCAT 50'), 13.Stefan MAUK (8.Neil KILKENNY 78'), 22.Michael JAKOBSEN (c), 26.Luke BRATTAN, 27.Marcin BUDZINSKI, 44.Ross McCORMACK (17.Tim CAHILL 69')
Substitutes not used: 1.Dean BOUZANIS (gk), 25.Iacopo LA ROCCA
Yellow cards: Schenkeveld 60'
Red cards: Malik 41'
Perth Glory: 33.Liam REDDY (gk), 2.Alex GRANT, 4.Shane LOWRY, 6.Mitch NICHOLS (20.Jake BRIMMER 86'), 8.Xavi TORRES, 9.Andy KEOGH (c) (19.Joe KNOWLES 30'), 14.Chris HAROLD (11. Mitch MALLIA 67'), 15.Brandon WILSON, 16.Joseph MILLS, 24.Callum TIMMINS, 26.Jacob ITALIANO , 29.Jeremy WALKER
Substitutes not used: 5.Jacob POSCOLIERO, 13 Nick FEELY (gk)
Yellow cards: Mallia 83'