1960年代爆发的香港警界黑暗时代,《正报》记者程安(梁朝伟饰)冒着生命危险将警察黑幕揭露出来,被探长张耀祖(吴毅将饰)当成罪人。张耀祖不仅经营封建势力,还利用机会将程安迷信为藏毒者,使其遭受关押,而且对其女友小慈(张文慈饰)进行蔑视和侮辱。
被认为是“羊”之一的程安,尽管有吴孟达(逐渐成为好友)的帮助,但还是受到大佬们的讥谑与折服。但是,他的正气和智慧使他在狱中找回尊严,生活也有所改善。
不久之后,看守“无人性”(林国斌饰)将犯人“三只脚”(徐锦江饰)害死,程安的媒体朋友利用机会使他帮助三只脚冤案得清。
小慈依靠另一探长势力将张耀祖下狱,重返自由世界,但是他仍然计划报复程安,两人的对决将不可避免......