昏暗冰冷的审讯室内,满身伤痕的私家侦探内德·克鲁兹(安东尼奥·班德拉斯 Antonio Banderas 饰)正在接受波利(威廉·菲德内尔 William Fichtner 饰)等三名洛杉矶警察的残酷质询。他被指控撞人致死,在拳脚的胁迫下,内德缓缓道出了这几天的经历。他最先讲述了当红偶像明星同性恋丑闻引发的杀人事件,这是整个故事的开端。随后,在那个潮湿而神秘的夜晚,内德遇见身形巨大、长相凶恶的来自俄罗斯的前拳击手安东·普罗托夫(罗伯特·梅耶 Robert Maillet 饰)。安东雇佣内德寻找一名失踪的脱衣舞女,而这一切似乎又与安东背后的俄罗斯黑帮有着千丝万缕的关系。
不久,安东死于非命,内德则继续寻找舞女的下落。在这一过程中,接受过他询问的人不断死亡。内德走上了一条光怪陆离的神秘之路……。1924年,中国正处在军阀割据之时,古都西安侦缉队队长马腾云与黑道豪门公子曲大通勾结,为夺取财宝,指使流氓汤占魁杀掉自己相好小翠,并假意派队副何远新寻找线索。何远新在赌场发现扒手六万将小翠的镯子当赌注,就把他拘捕了。一次义演中,何远新结识了京剧武生傅天豪。两人谈及此案,怀疑起曲大通,傅前去打探曲家。曲心知不妙,想让汤躲避,不料汤在客栈被何远新抓获。经六万证实,镯子是从汤身上窃得的。马腾云见势不妙,就借故将何远新调离西安数日,同时又设圈套,买通侦缉队员和六万,诬陷手镯是从傅天豪身上扒来的。傅被捕后受刑惨死,马腾云就扬言他畏罪自杀,接着马又杀六万灭口。何远新回来得知一切,十分震惊。他找到了正在豪赌的汤占魁,逼其交代实情,汤不从被何远新枪杀。何远新又潜入警察局长公馆,命屠局长及袁科长将贪赃枉法、诬良为盗的事实写成口供,屠不从被杀,袁科长为保命而只好从命。袁被吊在市政府门外的树上,胸前还塞着那份口供。李市长对案情已完全清楚,就派保安队长缉捕马、何二人。这时,曲大通旋计使何远新杀马腾云,并将何抓获,但何远新在突围中将曲氏兄弟和曲老太爷先后除掉,他自己去市府投案,最后以死护法。。