At 0-0, Ryan Gravenberch was sent off in the 62nd minute for fouling Jeremy Doku and receiving a second yellow card, according to ESPN's match record.
City scored all three goals in a 13-minute second-half spell; Haaland's opener came 2 minutes 36 seconds after Gravenberch's dismissal.
The dismissal shifted the match. ESPN's assessment said Liverpool had looked more active early on, but after the hosts went down to ten men, City took the initiative.
Liverpool's home crowd greeted City with loud boos and angry chants. The match was the club's first since an independent commission found it guilty of 114 breaches of the Premier League's financial rules.
Sky Sports commentator Gary Neville called the decision to show Gravenberch a second yellow card very soft. The match analysis also noted that the midfielder had already been booked for a foul and needed to account for the risk of another caution.
A separate UAE result came from Shabab Al Ahli's cup win.
Sky Sports described the match as City's first since the commission's finding. Its coverage did not include the commission's full decision or an ultimate sanction.