无名从小就无父无母,幸亏得到舅舅罗四海收留,无依无靠的无名自小就没人管,经常流连街头赌档,练得了一身精湛赌术。罗四海发现了无名的绝技,于是带着他与两个小弟阿骏和贱男到深圳设局骗钱。四人在深圳行骗时得罪了本地老大猛哥,在猛哥面前无名凭借一手绝活博得赏识四人才得以解围。
回港后无名邂逅了一个盲人女模特苦儿,阿骏看出了无名的心思,向他保证能帮助追到苦儿,条件是传授他赌术。无名爽快应承了。猛哥来港找到了无名,逼他用赌术为他赚钱,无奈之下无名只能答应。岂料阿骏赌术学成后,乘机打盲了无名,在猛哥那里取代了无名的位置。无名最终命运如何?。高利贷商人巴特(Bob Hoskins 饰)在丹尼(李连杰 饰)四岁时将他收留,从此用训练猛兽的方式让丹尼成为自己忠实的“狼犬”。巴特日常的工作是带领自己的手下与丹尼四处收账,如有任何人胆敢暴力反抗,巴特就放开丹尼颈上的项圈——那是进攻的信号,让后者用蛮横凶残的招式击溃对方。每次任务结束,丹尼都被送回阴暗的地下铁笼。
某次打斗中,丹尼偶遇盲调音师山姆(Morgan Freeman 饰),并为钢琴所深深吸引以致忘记了巴特的任务。盛怒的巴特将丹尼送上以死亡为终结的地下拳场,赚取了更多的利润,在离开拳场的路上巴特一伙遭仇家埋伏,丹尼幸免于难,被山姆一家收留。在山姆家里丹尼体味到缺失的亲情,逐渐找回了自身的人性一面,并开始学习弹奏钢琴。巴特等人经过治疗后痊愈,再次将丹尼拉回到拳场,然而丹尼已不再愿意杀人,无意中又发现了当年自己母亲遇害的真相,丹尼与巴特一伙的决战在所难免……。