The Phoenix co-coaches sprung a surprise before kickoff, with Roly Bonevacia consigned to the bench. He was one of the trio (along with Tom Doyle and Ryan Lowry) who missed the Brisbane game after a breach of team protocol, but the Dutchman has been one of the standout players in the league.
The Phoenix started brightly, and after Shane Smeltz was denied from close range, they took the lead through Gui Finkler in the 10th minute. It was slightly fortunate - as the Brazilian's well struck shot took a pronounced deflection - but just reward for some snappy build up play.
The home side extended their lead midway through the half, with one of the goals of the season. Roy Krishna wriggled clear just outside the area, then produced an unerring shot, that went like a tracer bullet past Liam Reddy. The Fijian has been - by a long way - the best player for the Phoenix this season, and will cause some headaches for the All Whites later this month.
Perth responded, with an impressive finish from Andy Keogh, though he benefitted from sloppy defending from the Phoenix, who failed to anticipate a direct through ball.
Kosta Barbarouses' sumptuous left footed finish - it feels the All Whites striker is finally finding his scoring touch for the Phoenix - meant the Wellington team had a two goal cushion early in the second half.
It should have been enough, but Adam Taggart prodded home with 25 minutes to play to give the visitors some hope before Castro's sensational free kick in the 80th minute. Glen Moss was caught out of position as the ball swirled over his head - but it was a set piece of near English Premier League quality.
Wellington Phoenix 3 (G Finkler 10, R Krishna 24, K Barbarouses 47)
Perth Glory 3 (A Keogh 34, A Taggart 67, D Castro 80)
Halftime: 2-1