1949年上海解放前夕。國民黨黑暗的統治即將結束,黎明尚未到來。上海市警察局的舊警察林少白正在找各種門路囤積米麵蔬菜等生活物資。他不過就是個小警察,不管誰來接管這座城市,他都要維持好兩個媽媽──死去父親的原配大太太和親生母親的生活。
這天是發薪水的日子,林少白上班路上,只見整個街頭充滿了上海城破的混亂。拖欠了大半年的薪資,發的卻是如同廢紙的金圓券。林少白氣不過,拉著搭檔徐巍潛入警察局的庫房,順走了不少好貨,準備轉手拿到黑市上兜售。晚上林少白、徐巍過來取貨,正趕上處長葉士武奉局長毛森之命,在上海城破之前秘密屠殺地下黨。
地下黨員們視死如歸,唱起了《國際歌》。這一幕讓偷看的林少白深受觸動。林少白和徐巍正要偷偷離開,葉士武卻堵住並逼迫他們向地下黨員開槍。既然林少白、徐巍看到他們屠殺gong產黨,那就一起手上沾血。
危急時刻,林少白高聲叫著要見局長毛森,假意說他可以作為潛伏人員留在上海,但為了清白,他們的手就絕不能沾血。正當毛森答應時,樓下徐巍的槍響了,而且是連開兩槍,替林少白擊斃了剩下的兩名gong產黨。