段小樓(張豐毅)與程蝶衣(張國榮)自幼在北平戲班同習京劇,一個工生角,一個專旦行,合演《霸王別姬》技藝臻絕,立下終身合作誓約。程蝶衣對藝術與人生的界限逐漸模糊,將舞臺羈絆延伸至現實情感,而段小樓始終恪守戲里戲外的分野。抗戰時期,程蝶衣為護戲班被迫與日軍周旋,段小樓則以楚霸王形象激勵民眾。建國后兩人繼續登臺,在時代洪流中,段小樓迎娶風塵女子菊仙(鞏俐)的決定徹底撕裂三人關系,程蝶衣視其為背叛并遷恨菊仙。歷經三反五反、文革批斗等政治運動,程蝶衣在造反派逼迫下揭發段小樓與菊仙的罪行,最終于批斗現場拔劍自刎,以虞姬之姿血染戲服。段小樓與菊仙在絕望中目睹摯友兼情敵的慘烈終局,個人命運隨時代巨輪碾碎于京劇舞臺之上。