Melbourne City held off a late comeback attempt from Sydney FC to win 3-2 and end a three-match A-League losing streak.

Hosts 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 their 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 victors, 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 stay fifth, with City now just two points behind them in ninth.