Zayn Malik got into a heated confrontation with a man outside a Manhattan bar in which a homophobic slur got thrown around ... and Zayn ended up shirtless.
Sources close to the situation tell TMZ ... Zayn was smoking a cig outside Amsterdam Billiards Club in the East Village after 2 AM when a group of guys came out of Little Sister Lounge next door and an altercation ensued.
We're told the guy in the video going after Zayn tried to pick a fight ... and tempers were definitely flaring, as you can see.
In any event, the guy lunged at the former One Direction star, and allegedly called Zayn the homophobic f-word ... and Zayn hurled back some insults.
Though the argument came very close to a physical confrontation, we're told no punches were ever thrown and police were not involved.
As for why Zayn's shirt was off ... our sources say he was wearing one at the billiards joint, but it's unclear exactly when or why he took it off.