1949年上海解放前夕。国民党黑暗的统治即将结束,黎明尚未到来。上海市警察局的旧警察林少白正在找各种门路囤积米面蔬菜等生活物资。他不过就是个小警察,不管谁来接管这座城市,他都要维持好两个妈妈——死去父亲的原配大太太和亲生母亲的生活。
这天是发薪水的日子,林少白上班路上,只见整个街头充满了上海城破的混乱。拖欠了大半年的薪资,发的却是如同废纸的金圆券。林少白气不过,拉着搭档徐巍潜入警察局的库房,顺走了不少好货,准备转手拿到黑市上兜售。晚上林少白和徐巍过来取货,正赶上处长叶士武奉局长毛森之命,在上海城破之前秘密屠杀地下党。
地下党员们视死如归,唱起了《国际歌》。这一幕让偷看的林少白深受触动。林少白和徐巍正要偷偷离开,叶士武却堵住并逼迫他们向地下党员开枪。既然林少白和徐巍看到他们屠杀gong产党,那就一起手上沾血。
危急时刻,林少白高声叫着要见局长毛森,假意说他可以作为潜伏人员留在上海,但为了清白,他们的手就绝不能沾血。正当毛森答应时,楼下徐巍的枪响了,而且是连开两枪,替林少白击毙了剩下的两名gong产党。