故事发生在解放战争后期的重庆。宋怀珍(宋春丽 饰)奉党组织命令赴渝恢复因叛徒出卖面临瘫痪的地下组织,他利用失散多年的儿子林孝成(孙逊 饰)在敌特机关的便利,逐步接近敌人内部。宋怀珍有很传统的观念,与行事新潮的准儿媳蔚蓝(唐一菲 饰)时有冲突,但考虑到任务在身,特别是要策反牛师长和儿子起义的大局,她决定忍辱负重。1949年10月1日,中华人民共和国成立,国民党自知大势己去,决定撤退前实施摧毁重庆的“冷箭计划”,拿到这份计划成了宋怀珍的首要任务,而此时的林孝成对她的身份产生怀疑且充满敌意,宋怀珍将面临艰难的选择……。狠心舅父陈有(黄秋生 饰)串同贼人绑架外甥小宝(小柏林 饰),小宝不幸遇害。其父母伤心过度,决定移民离开这个伤心地。临行前他们为屋子装上先进的防盗锁,而巨额赎金和小宝的鬼魂则留在屋中。
陈有千方百计想要拿到赎金,却因防范严密而屡屡失手。情急之下,他重金聘请热心电子仪器的咪表收银员亚伟(梁朝伟 饰)和亚肥(郑则仕 饰)潜入屋中,偷盗藏有赎金的玩具猫,二人不知底细,欣然同意,却在屋中遭到小宝的戏弄,却也籍此知道了小宝遇害的始末……。莱斯特(马丁·弗瑞曼 Martin Freeman 饰)只是一介小小的保险销售员,在家里,他饱受强势妻子的压迫和轻视,在外面,曾经的高中同学亦能当街给他下马威,对于所经历的一切,个性懦弱温顺的莱斯特选择了忍气吞声。一次偶然中,莱斯特在医院里结识了名为马尔沃(比利·鲍伯·松顿 Billy Bob Thornton 饰)的男子,让莱斯特没有想到的是,这名神秘男子竟然是一位冷酷残暴的职业杀手。
在长久的压抑之下,莱斯特终于爆发将妻子杀死,惊慌失措的他打电话给马尔沃向他求助,没想到等来的却是小镇警长,随后赶来的马尔沃杀死了警长之后逃之夭夭,情急之下,莱斯特将妻子的死也归结到了马尔沃的头上。女警莫利(艾莉森·托尔曼 Allison Tolman 饰)并不相信莱斯特所言,而是将莱斯特家发生的血案与近日里镇上的一连串死亡事件串联到了一起。。