Julian is an American expatriate who runs a Muay Thai club in Bangkok, Thailand as a front for drug dealing. His older brother Billy rapes and kills an underage sex worker and is cornered by Thai police. Lieutenant Chang allows the girl's father, Choi Yan Lee, to beat Billy to death in the same room Billy killed the girl. Chang then cuts off the father's forearm for allowing his daughter to be a sex worker.
Julian also engages in aberrant sexual practices. He prefers to be bonded as he watches his favorite prostitute, Mai, masturbate. Upon discovering his brother has been murdered, Julian and his crew go to Choi's kiosk to confront him. He decides to spare Choi's life after hearing about Chang's involvement. When Julian's mother, Crystal, arrives in Bangkok to identify Billy's corpse, she demands Julian find and kill the men responsible for Billy's death. He refuses believing Choi was justified in avenging the death of his daughter infuriating Crystal. Fascinated by his sense of justice, Julian imagines meeting Chang in a dark room, where Chang cuts Julian's hands off.
Julian brings Mai to meet Crystal, posing as his girlfriend. Crystal sees through the ruse, insulting Mai and demeaning Julian, pronouncing him to be sexually inferior to his dead brother. Julian is passive to Crystal's verbal abuse, but his aggravation results in in him viciously humiliating Mai afterwards. At Crystal's request, one of the fighters at Julian's boxing club assassinates Choi. Later, the police arrive at Julian's club, but Chang concludes that Julian is not Choi's killer. Julian recognises Chang from his visions and follows him from the boxing club, but Chang seems to disappear into thin air.
After learning that Chang was involved in Billy's death, Crystal meets with an associate, Byron, to arrange Chang's assassination. Three gunmen on motorbikes are sent to kill Chang at a restaurant, which results in several customers and two of Chang's men being killed in a shoot-out. Chang kills two of the gunmen, follows the third on foot, and beats him with a frying pan. The surviving gunman leads Chang to his boss, Li Po, who has resorted to arranging assassination contracts as a means of providing for his crippled son. Chang then kills the gunman but spares Li Po after seeing his affection for his son. Li Po points Chang to Byron, who ordered the hit. Chang finds Byron in a club and tortures him to reveal the reasoning behind the hit.
Julian confronts Chang and challenges him to a fight at Julian's boxing venue. Chang, an experienced boxer, quickly beats Julian, who does not land a single blow. Afterwards, Crystal tells Julian that Chang has figured out she ordered the hits. Fearful for her life, she pleads with Julian to kill Chang, the same way she asked Julian to kill his own father for her. She promises that after Julian kills Chang, they will go back home, and she will be a true mother to him.
With his associate Charlie Ling, Julian infiltrates Chang's home after shooting Chang's guard dead, intent on ambushing Chang when he returns. Charlie informs Julian that Crystal instructed him to execute Chang's entire family. Charlie murders the nanny of Chang's daughter as she enters the home, but Julian kills Charlie before he can murder Chang's young daughter.
Chang and a police officer find Crystal in the hotel she is staying at. She explains how Julian killed his father with his bare hands, asserting to Chang that Julian is violent and deranged, blaming him for the violent crimes committed in the family's name. Chang decides to punish her by cutting her throat. Later, Julian returns to the hotel and finds his mother's corpse. In silence, he approaches her body and cuts open her abdomen before placing his hand inside of the wound.
Julian is later shown standing in a field with Chang, who appears to cut off both of Julian's hands with his sword. Finally Chang is singing at a karaoke bar to an audience of attentive police officers.
Output: Why does Crystal beg Julian to kill Chang?