Melbourne City midfielder Erik Paartalu scored a last-minute header to win the derby and end Melbourne Victory's unbeaten streak in the league.
Victory's goalkeeper Nathan Coe pulled off an instinctive save that led to the corner from which Paartalu scored.
The game looked to be heading to a goalless draw after neither side looked likely to convert any of their chances, despite have plenty of opportunities to do so.
Victory thought they had won it late on as Fahid Ben Khalfallah put the ball into the back of the net but was ruled out for offside.
The result helps City climb the table to sixth, with Victory staying in second, three points adrift of league leaders Perth Glory.