马山(姜文)是西南地区某边陲小镇的一名普通警察,某晚参加妹妹婚宴时因喝得酩酊大醉被人送回家中,次日早晨醒来时,他发现从不离身的配枪不翼而飞。意识到偷枪人可用枪里的三颗子弹杀人时,马山不禁毛骨悚然,当晚所有参加妹妹婚礼的人都成了他的怀疑对象。
在对重点嫌疑人,卖“羊肉粉”的刘结巴、送他回家的周小刚、突然出现在周小刚家的旧恋人李小萌(宁静)一番追踪后,马山依旧没能理出任何头绪,而对李小萌的怀疑里,又混杂了极为复杂的感情,此又导致其妻怀疑他移情别恋。正在这时,李小萌在周小刚家被人用枪打死,马山作为嫌疑人被拘禁。经过一番冷静思考,他终于将乱麻捋顺,开始了寻枪之路。。匆忙回国的徐敬业得知爷爷乔建军得了晚期肺癌,只有一个月的生命期限了。敬业十分难过,医生告诉他,似乎爷爷还有什么没有完成的心愿,整日盯着一张撕碎后又重新粘贴起来的旧画看……
敬业问爷爷有没有什么未了的心愿。乔建军说自己的确有一个非常想见的人,但这个人也许不想见他。敬业说自己一定找到这个人……
青年宫里,舞蹈老师周忆君正在教学生们跳舞,突然一位不速之客——徐敬业找上门来,说自己是代表病重的爷爷来的。自己的爷爷很想见见忆君的奶奶,忆君怔住……但面对一位病危老人的乞求,忆君不得不答应。
忆君带徐敬业回到家,奶奶周晓惠听说敬业是代表乔建军来的,突然大发脾气,并下了逐客令!老奶奶掉下了伤心的眼泪,在她房间的桌子上,也有一幅发黄的旧画……
深夜,忆君发现奶奶的房间里亮着灯……周奶奶盯着房中的旧画,她的思绪飘回到45年前的那个少女的时代……。