Host City came into the contest – a rematch of last year's Grand Final, which Sydney won in extra time – out of form with five defeats in its last six.
But any lack of confidence was not reflected as they stormed into a three-goal lead after 53 minutes courtesy of two goals from Australia striker Jamie Maclaren and another from Adrian Luna.
Milos Ninkovic got one back and another Sydney substitute, Patrick Wood, scored in the 90th minute to prompt a few nerves in stoppage time but Melbourne held on.
Maclaren was constantly involved, racking up nine shots for the victor, while Andrew Nabbout had a game-high five key passes including a fine assist for the third goal.
A first loss in four means Sydney stays fifth, with City now just two points behind in ninth.