在香港报馆任职的袁永定(万梓良饰)遇见一位前来刊登寻人广告的冷艳女子,但她又无钱付广告费。袁永定借故离开,不料那女子紧随而来。在闲聊中袁永定惊讶的发现此女子原是鬼魂。
早在二十世纪30年代,她是香港石塘咀的红牌妓女如花(梅艳芳饰)。在那风月世界里,她爱上了人称十二少的陈振邦(张国荣饰),并谈论嫁娶之事。但是由于身份地位悬殊,婚事遭到陈家反对。陈振邦脱离家庭与如花同居,两人以胭脂匣定情。在二人同居后染食鸦片,陈振邦乃一纨绔子弟,无养家糊口的本领,渐渐经济拮据,于是如花计划与其吞食鸦片殉情。结果如花死去,而振邦被救活。
如花在黄泉久候不见十二少,故回阳间寻找。袁永定与女友(朱宝意饰)无意中发现当年一张《骨子报》,发现振邦原在一家电影制片厂内充当制片场临时演员。十二少经岁月的折磨,早已穷困潦倒,对往事早已淡漠。如花伤心之余,将胭脂匣交还,回到阴间转世去了。