由甄子丹饰演的刘金喜原名唐龙,在影片中他曾是72地煞的二当家,是位救死扶伤的绝世高手。在屠杀张屠户一家之后,他忽然在罪恶中清醒,决心用另一种新的身份生活。在和阿玉相识后,改名为刘金喜,一向过着隐居的生活。在过了一段平静生活之后,阿玉所在的村里发生了一路离奇的命案,这宗命案恰巧被捕快徐百九发现,在调查案件的过程当中,徐百九发现刘金喜的武功非常厉害,于是就绞尽脑汁去打听、接近他。最终徐百九成功住到了刘金喜的家里,在一次又次的试探中,徐百九发现刘金喜就是当年退隐江湖的唐龙,在徐百九的逼问之下,刘金喜承认了自己的身份。不料,恰巧因徐百九的探察,迫使唐龙和72地煞的教主决斗。令人意想不到的是,72地煞的教主就是唐龙的义父,但由于唐龙不想再过充满鲜血杀戮的日子,于是就演出了一幕父子对决的场面。
影片以一个民国侦探的视角,给观众呈现了一个千奇百怪的江湖,而在隐姓埋名的“英雄”心里,这个江湖充满凶险,难得善终。甄子丹、金城武饰演的角色亦敌亦友,各显神通,从探案相识到熟悉彼此,甄子丹和金城武演绎了从怀疑人性到相信人性的转变。片中的打戏非常精彩,不论是缠斗还是咏春,搏击还是兵刃,都让人眼前一亮。值得一提的是,甄子丹在文戏方面也有突破,尤其是与汤唯的对戏中,着实表现出一个隐忍且顾家的男人。