故事发生在20世纪30年代的上海。 托德(拉尔夫·费因斯 Ralph Fiennes 饰)是一名外交官,生活和事业都陷入瓶颈,他整日泡在娱乐场所和酒吧里。 初来乍到时,托德有着伟大而远大的理想,但逐渐丧失的远见和复杂的权力斗争让他在职业道路上无法前行。 在一家夜总会里,托德认识了一位名叫索菲亚(娜塔莎·理查森饰)的女子。 索菲亚曾经是一位享有盛誉的伯爵夫人,但现在她成了一名歌舞女郎。 为了养活十岁的女儿,她甚至不得不出卖自己的身体。 两个人就是在这种情况下交流,互相吸引。 不久之后,日本全面侵华战争。 这时,托德发现了自己对索菲亚压抑已久的强烈爱意。 这对相爱的男女最终能否结婚呢?