马山(姜文)是西南地区某边陲小镇的一名普通警察,某晚参加妹妹婚宴时因喝得酩酊大醉被人送回家中,次日早晨醒来时,他发现从不离身的配枪不翼而飞。意识到偷枪人可用枪里的三颗子弹杀人时,马山不禁毛骨悚然,当晚所有参加妹妹婚礼的人都成了他的怀疑对象。
在对重点嫌疑人,卖“羊肉粉”的刘结巴、送他回家的周小刚、突然出现在周小刚家的旧恋人李小萌(宁静)一番追踪后,马山依旧没能理出任何头绪,而对李小萌的怀疑里,又混杂了极为复杂的感情,此又导致其妻怀疑他移情别恋。正在这时,李小萌在周小刚家被人用枪打死,马山作为嫌疑人被拘禁。经过一番冷静思考,他终于将乱麻捋顺,开始了寻枪之路。。卢西·安兰伯特是个律师,一天他接下一个案子,为一个叫布兰奇的女子辩护,布兰奇被怀疑杀害了自己的丈夫。卢西安花了一个晚上的时间探访布兰奇,她住的地方非常荒凉。卢西安发现,布兰奇与他所有其他的客户都不一样,甚至于他见过的所有其他女人都不一样,他一直不能确定,她到底是真的杀害了丈夫,还是无辜者。房子外面,一个人一直在监视他们,这便是警探路易斯伯格,他希望找出事实真相。随着对案情的深入了解,所有人都陷入到沉思之中,到底什么是爱,什么是罪恶?。