丹尼斯(拉尔夫·费因斯 Ralph Fiennes 饰)已经在精神病院治疗了20年,现在他刚回归社会,却发现并不能顺利地开始新生活。因为,往昔的情景一幕幕闪回,支离破碎而又让他无法摆脱。尤其是母亲,以及父亲和那个破坏了丹尼斯家庭的妓女,更让他回忆中的往事似乎变得真实。是父亲和妓女杀死了他心爱的母亲。他们残忍地用铁锹砸死母亲,把她埋在菜园子里…… 把回忆串联起来后,丹尼斯决定找妓女复仇。然而,他的记忆可靠吗?事情的原貌正如他还原出来的样子吗?有时记忆常常会欺骗我们。。香港九龙区旺角混混阿华做事利落重情义,颇有老大风范,为了照顾做事冲动又好面子的小弟乌蝇,他不停地在各种大小麻烦中周旋,甚至不惜为乌蝇与黑道狠角色结仇。
阿华表妹阿娥前来旺角看病暂住他家,两人慢慢互生情愫,但因为担心自己的身份最终会给阿娥带来伤害,阿华选择了将心事埋藏。待阿华明白真情压抑不住想对命运做番抵抗时,乌蝇却再次因好面子面临生命危险,于是一道友情与爱情必选其一的难题又摆在阿华面前。。