Perth Glory will head to Adelaide in high spirits after finishing their Victorian A-League road trip with a gutsy 3-1 win over Melbourne City.
In their third game in nine days, the Glory took the lead through Daniel Stynes after 11 minutes, with Jamie Maclaren equalising in the 33rd, before Dane Ingham put Perth back in front nine minutes later.
City pressed for an equaliser in the second half but instead, Nick D'Agostino sealed the deal for Glory in the 85th minute at AAMI Park.
An uncharacteristically inaccurate Maclaren had a shot forced wide in the eighth minute and hit the post a minute later with Perth making him pay shortly after.
The Glory welcomed back Diego Castro for the first time in their stint in Victoria and the skipper was involved in the opening goal.
Bruno Fornaroli pinched the ball from Craig Noone and slipped it to Castro, who found Daniel Stynes.
From there, Stynes' long-range shot deflected off Carlo Armiento and wrongfooted Tom Glover.
But City hit back in the 33rd minute when Noone's shot ricocheted off the post and into the path of Maclaren, who this time made no mistake with the finish.
City's relief would last just nine minutes as Ingham, who had hit the crossbar seven minutes into the game, put Glory in front with a diving header in the 42nd.
The linesman initially flagged the defender offside from Neil Kilkenny's skidding corner, but the decision was overturned after a VAR review.
City had a couple of decent chances to equalise after the break, with Glory goalkeeper Tando Velaphi making a sharp stop to deny Adrian Luna in the 61st minute, and City youngster Connor Metcalfe headed over the bar seven minutes later.
Luna whipped a free-kick wide in the 79th and City were unable to craft an equaliser with D'Agostino nodding home a Kilkenny set-piece five minutes later.
Perth players were incensed after the goal when a City fan threw a bottle at them as they celebrated near the sideline but comfortably held onto their lead to take all three points away.