Keisuke Honda opened his Melbourne Victory account as the champion started its Hyundai A-League title defence with a 2-1 Derby loss to City.
Honda, who impressed throughout at Marvel Stadium, headed in a 28th-minute opener to give Victory the lead.
However, City found a controversial equaliser through Ritchie De Laet before Riley McGree scored a winner in the second half.
After an even start, Terry Antonis almost opened the scoring for Victory in the 10th minute.
The midfielder's cross-cum-shot from the left had Eugene Galekovic scrambling, the City goalkeeper tipping the effort around his post.
While Victory dominated possession, goalkeeper Lawrence Thomas was needed to quickly come off his line to thwart Bruno Fornaroli in the 20th minute.
Victory took a deserved lead approaching the half-hour mark through marquee Honda.
Storm Roux overlapped down the right and his cross was met by Honda, who headed beautifully into the corner to make it 1-0.
Victory continued to threaten, Antonis forcing a save from Galekovic after a cross from Honda down the right.
But City drew level before half-time in controversial circumstances, Fornaroli winning a penalty, which Thomas saved from Florin Berenguer before De Laet put away the rebound.
The second half started scrappily before Victory created a good chance near the hour-mark, Kosta Barbarouses pressured out of the opportunity after being played in by Honda.
Victory almost restored its lead in the 65th minute, James Troisi curling a 25-yard effort against the post.
Instead, City struck on the counter-attack, McGree putting away a pass from Luke Brattan.
Kenny Athiu blazed away for Victory moments later before Galekovic tipped a deflected Honda strike over the crossbar, unable to find a winner despite a late push.
Player in focus
What they said – Troisi
"The first one, hits the inside of the post, doesn't go in and then to be fair, I connected well on my right foot and Eugene pulled off a good save. That's the harsh reality of football. I thought we deserved to win, not even draw. I'm pretty happy with the way we started and it's a good sign for things to come."
on the penalty…
"In my opinion, it's not a penalty. He's thrown his leg out, he's played for it, but that's football, it happens and I'm sure it's going to happen again this season, we just need to be better. The second goal, should never allow it to happen, we had the ball in their box so that's life, we move on and very happy, fantastic signs."
Hyundai A-League 2018/19 Round 1
Melbourne Victory 1 (Keisuke Honda 28')
City 2 (Ritchie De Laet 40', Riley McGree 70')
Melbourne Victory: Thomas (gk); Roux, Ansell, Niedermeier (Deng 90+1'), Brown; Baena (Broxham 85'); Honda (c), Troisi, Antonis (Ingham 87'); Barbarouses, Athiu.
City: Galekovic (gk); De Laet (c), La Rocca, Schenkeveld, Delbridge; Baccus; Brattan, Caceres (McGree 67'), Berenguer (Griffiths 75'); Wales (Lesiotis 85'), Fornaroli.
Yellow cards: Brown 6', Athiu 43', Baena 57', Wales 81', Lesiotis 90'
Red cards: Nil
Venue: Marvel Stadium
Victory is at home again in Round 2, hosting Perth Glory at AAMI Park on Sunday, October 28.