芝加哥发生了一桩震惊全城的恐怖血案。当地一间教堂的主教罗森惨遭杀害,身上被刻上神秘数字,警方逮捕了当时在场身染血迹的犯罪嫌疑人阿伦( Edward Norton 饰)。马丁(理查•基尔 Richard Gere 饰)作为阿伦的辩护律师,和他的前女友检控官珍妮特较上了劲。马丁并不在乎事实,他为阿伦辩护的唯一目的就是要赢得官司,让自己一战成名。而珍妮特作为正义的代表当然寸步不让。珍妮特(劳拉•琳妮 Laura Linney 饰)调查得知罗森主教生前曾对阿伦等人进行性侵犯,而阿伦关于自己患有“时间失忆”症的辩解
40年代的洛山矶唐人街,警员杰克(杰克•尼科尔森 Jack Nicholson 饰)因不满这里的黑暗,辞职当起了私家侦探。这天,一个自称莫拉雷太太的女子请杰克调查丈夫的外遇,杰克欣然接受。杰克发现莫拉雷原来是当地水利总工程师,正在为兴建水坝问题和当地农民争执。随后有人给 了杰克一些证明莫拉雷偷情的照片,隔天早上真正的莫拉雷太太却找上门来要求杰克停止调查莫拉雷。事情变得越来越迷离,杰克决心追查下去……