该片改编自张爱玲曾将其“翻译”成国语的吴语小说《海上花列传》。上海英租界一所名叫“长三公寓”的高级妓院里,红倌人沈小红(羽田美智子)、黄翠凤(李嘉欣)与周双珠(刘嘉玲)心事迥异,一个想同某个男人建立长久关系,一个一边与多个男人斡旋,一边秘密锁定其中最有闲有钱的一位,想其将来帮她赎身,另一个心地仁厚,却又看破红尘,觉得人生不过如此。几个女人用生存、竞争与心计作武器参与两性(同性)斗争,来到妓院狎妓的男人则抛出金钱、权力与性,见招拆招。 普通人的命运在轰轰烈烈的时代面前总是渺小到可以忽略不计。个人,如果勇敢地站出来想阻止时代洪流,多少像奋力扑向风车的唐吉坷德,往往只能当殉道者,而更多时候,个人甚至连选择当旁观者的权利也没有。可是普通人的悲剧,无疑能照出历史的荒谬与残忍。1945年日本无条件投降后台湾光复,基隆一户林姓人家眼见也要过上好日子,但人算不如天算,林家大小波折从此不断。“二•二八”事件发生后,家中的四兄弟更是只剩下老老实实开有一家照相馆的聋哑人老四林文清(梁朝伟)。然而悲剧并没到此终止,因为和进步人士有联系,林文清也没能逃脱被逮捕的命运,到此,林家男子只剩林文清和吴宽美(辛树芬)的幼儿——他尚呆在襁褓中咿呀咿呀地学语。 布袋戏大师李天禄(李天禄饰)出生于台湾的日本殖民统治时期,他用口述回忆自己的戏梦人生,故事终结于日本战败投降。小时候的李天禄家里充满矛盾,母亲去世,来了一位冷酷的继母(杨丽音饰),他跟父亲(蔡振南饰)学得掌上手艺后独自离家,随木偶剧团登台演出、四处游走。年轻时的李天禄(林强饰)入赘女方家里。后来战争爆发,布袋戏被禁。唱歌仔戏到邂逅丽珠(魏筱惠饰),太平洋战争爆发后,他加入“英美击减催进队”,为日本演宣传剧,和日本人有了不错的交情。后来李天禄一家人躲避空袭疏散到南部,这过程中,他失去了亲人,而第二天战争就告结束。