20世纪30年代,上海在战争中失去了繁荣。 势力强大的黑帮老大鲁先生(葛优饰)答应做电影的女主角,而孤独的交际花小刘(章子怡饰)却勾搭上了男主角,被要求离开上海。途中,陆先生的妹夫渡边(浅野忠信饰)将小刘带回家,囚禁为性奴。 管家(燕妮饰)把不苟言笑的司机(杜淳饰)介绍给陆先生做私人保镖。 淞沪会战前夕,日本人计划杀害鲁先生。渡边作为间谍,同意杀死陆先生,他的家人全部被杀。 鲁先生委托第五个人()和司机杀死了投靠日本人的黑帮二哥。 抗战结束前夕,鲁先生找到了被囚禁的小六,和她一起去了吕宋岛。 假扮国民党高级将领的司机亲手杀死了渡边的大儿子,小刘同时用自己的枪打死了渡边。 1949年,鲁先生一个人去了香港,之后就失踪了。