Muscat was sent off between Nick Fitzgerald's equalising wonder-goal and Brandon O'Neill's fine free kick at AAMI Park in front of 10,706 people.
Sydney's success over their sky blue rivals snapped any suggestion of a late-season fade-out after last week's derby loss.
It also places Graham Arnold's side on the edge of premiership glory.
The Sky Blues can effectively seal the title with a win next Saturday night when second-placed Melbourne Victory visit Allianz Stadium.
And while Arnold's side would be very worthy recipients of the A-League premiers' plate, they weren't made to work hard for the points on Friday night.
City took the contest to Sydney FC but came unstuck dealing with their first serious attack.
Muscat's first caution resulted in a penalty as he clipped the heels of Filip Holosko as the Slovakian bore down on goal.
Brazilian Bobo comfortably converted the 24th-minute spot kick - the second Muscat has given away in as many weeks - to put Sydney ahead against the run of play.
But City found a goal their early play merited within a minute.
Fitzgerald, who caused marker and ex-City defender Michael Zullo headaches all night, fired a stunning outside-of-the-boot volley into the top corner to give Danny Vukovic no chance.
City's jubilation turned to exasperation on 39 minutes when Muscat's sloppy touch gave Alex Brosque a sight on goal.
As the Sydney skipper stole possession and raced away from his victim towards goal, Muscat couldn't help but tug at his shirt - a professional foul - to earn a second yellow.
Michael Valkanis re-jigged his side at halftime, throwing on Ruon Tongyik for Tim Cahill, and the young defender played a part in Sydney's second.
Tongyik's unfortunate handball just outside the box gave O'Neill a dead-ball opportunity he made the most of - dinking his free-kick over the wall and past Thomas Sorensen.