City was beaten by the Sky Blues in the Grand Final last year, but Patrick Kisnorbo's side was not to be denied this time around as it completed a Premiership-Championship double.
Kosta Barbarouses put the defending champions in front, but Nathaniel Atkinson equalised soon after and Sydney were rocked by Luke Brattan's first-half dismissal for a second bookable offence.
Scott Jamieson's penalty put Melbourne in front on the stroke of half-time and Scott Galloway sealed the victory in stoppage time at the end of a dramatic final, with Sydney unable to become the first team to win three successive titles.
After going 10 seasons without lifting a trophy, Melbourne have claimed two in the space of five weeks.
The defending champions drew first blood against the run of play with 21 minutes played, Barbarouses rifling into the bottom-left corner of the net with his right foot from just outside the penalty area on the counter-attack.
City was level just a couple of minutes later, though, Atkinson firing into the top-right corner following an incisive run from Stefan Colakovski.
The Sky Blues suffered a huge blow 10 minutes before the break as Brattan was given his marching orders by referee Chris Beath for a challenge on Marco Tilio.
Sydney felt aggrieved once again when Beath pointed to the spot after Adrian Luna went down seemingly following minimal contact from Anthony Caceres, with Jamieson sending Thomas Heward-Belle from the spot on the stroke of half-time,
Melbourne applied huge pressure in the second half but the third goal proved to be elusive until Galloway found the back of the net with his left foot with time almost up.