Police arrested Yuba Raj Sharma, 43, after the confrontation at the All India restaurant, in Oakland, Pittsburgh, and charged him with terroristic threats, indecent exposure, resisting arrest and public drunkenness.
The argument began when servers put onions in Mr Sharma's order, WPXI-TV reported.
He returned the next day drunk and angry, restaurant owner Ravinder Singh told police.
According to the criminal complaint, Mr Sharma was so drunk and difficult that he became "dead weight" as police tried to put him in a patrol car.
The owner of the restaurant told police that Mr Sharma visited twice this week. The owner said Mr Sharma was eating there and "acting belligerent," according to the complaint.
The owner added that Mr Sharma was "intoxicated" when he returned on June 6, and was told that he was not welcome at the restaurant, according to a police report.
After 911 was called, Mr Sharma pulled down his pants exposing himself while verbally taunting the owner and another staff member, police documents said, according to Action 4 News.
The owner initially did not want to pursue charges, but changed his mind after Mr Sharma "continued to shout back toward the restaurant" and ignore police commands, the complaint said.
Ultimately, the owner told police that he "no longer felt safe in his restaurant and wanted to pursue charges," the complaint said.
Mr Sharma was so drunk that police said he was speaking "nonsense," and at one point, he told an officer that "he got into an argument with staff because they put onions in his food," according to the complaint.