Melbourne Victory went down 2-1 to City in a Hyundai A-League Derby clash at AAMI Park on Friday.
Florin Berenguer put City ahead before Jamie Maclaren's goal doubled the lead.
Despite pushing for long periods, Victory fell short despite Ola Toivonen's second-half free-kick.
Victory threatened inside the opening minute, but Toivonen was just unable to get a long Adama Traore pass under control.
But City took the lead in the eighth minute, Berenguer finding the bottom corner from inside the area following a pass from Adrian Luna.
It was a cagey opening to the Derby, but Victory had the better of the opportunities to finish the first half.
Storm Roux headed a Migjen Basha corner wide in the 25th minute before Tim Hoogland hit the post from Toivonen's indirect free-kick on the half-hour mark.
James Donachie produced a great last-ditch tackle to deny City attacker Craig Noone at the other end, although Victory pushed to finish the first half.
Victory had penalty appeals turned down early in the second half after Rostyn Griffiths appeared to handle in the area.
Hoogland, meanwhile, made a superb clearance at the back post to deny City in the 53rd minute.
Robbie Kruse, introduced alongside Marco Rojas in the second half, tested opposition goalkeeper Tom Glover before Maclaren doubled City's lead.
Kruse fired over in the 73rd minute before Toivonen struck, his 20-yard free-kick fumbled over the line by Glover.
However, Victory's chances of an equaliser took a blow when Kruse left the field with what appeared to be an injury and it could not find a second goal.
Player in focus
What they said – Toivonen
on the game…
"It's a painful one, concede a goal after 10 minutes, these kind of games these are the mistakes that are going to cost you the game and I think it's a perfect example of that in the first half. After the goal, City made it difficult for us because 11 players behind the ball and it's tight, no space, the legs are fresh for them so they can move quite easy, it's not so difficult to defend football in the first half. We get the 2-1 but then we're playing with 10 men the last 15 minutes so that's how it is. Just recover and then come back on Tuesday for a Champions League game."
on whether fatigue played a part…
"Not this match. Maybe we can talk about Perth, that's fatigue, but not here, not here at all, just a lack of concentration, it's a matter of details. The first goal it's just some details that were wrong, we were a little bit too late and it cost us a goal."
Hyundai A-League 2019/20 Round 18
City 2 (Florin Berenguer 8', Jamie Maclaren 71')
Melbourne Victory 1 (Ola Toivonen 78')
City: Glover (gk); Atkinson (Galloway 82'), Griffiths, Good, Jamieson (c); Luna, Brillante, Berenguer; Noone, Maclaren (Wales 72'), Susaeta.
Melbourne Victory: Thomas (gk); Donachie, Hoogland (Rojas 55'), Carrigan; Roux, Lesiotis (Kruse 55'), Basha (Poulsen 77'), Traore; Nabbout, Toivonen (c), Kamsoba.
Yellow cards: Atkinson 45', Jamieson 45+1', Donachie 56', Berenguer 66'
Red cards: Nil
Venue: AAMI Park
Victory begins its AFC Champions League group-stage campaign against Chiangrai United at Melbourne Rectangular Stadium on Tuesday, February 11.