欢姑是老一派的独立女性,年轻时便自梳。她与阿慧无论在人生观、性观点都各有不同,但是两人相处越久越觉默契,在言谈之中,阿慧发现欢姑年轻时同样在爱情路上迷失过,甚至与另一个女人有关。
四十年代的顺德,“自梳”是一种时尚。为了逃避买卖的婚姻,意欢(杨采妮饰)选择了自梳终身不嫁。但命运偏偏令他遇上两个重要的人。一个是他的初恋情人旺成,他贫穷却痴情。另一个是出生妓寨,嫁给丝厂老板的八姨太太玉环(刘嘉玲饰),她敢爱敢恨,对意欢暗生情愫。意欢不肯接受玉环的爱意,反而暗中与旺成交往。最后意欢怀孕,旺成却怕事撇下意欢不理。当意欢痛苦无助之际,唯有玉环对她呵护备至。玉环那种不求回报,只管去爱的情操,令意欢深深感动,并知道自己一直憧憬的爱情,原来就在身边。可惜战争来临,两人在逃难中失散……
五十年后,欢姑仍执意寻找另一半的她,最后竟真的被她找到,阿慧看着意欢与玉环的重逢,才发现她们之间隐藏着一个秘密……,另一方面,阿慧亦重新衡量自己的爱情,面对欲走还留的锺华,阿慧下了一个决定……
故事以六十年代初期为背景,折射的却是90年代人们疲惫的灵魂。
阿飞(张国荣)是上海移民,他从未见过生母,自小由养母养大,因此长大后他对生命中遇到的每一个女人都冷酷无情。放荡不羁的他先后与售票员苏丽珍(张曼玉)和舞女咪咪(刘嘉玲)同居,但后来又相继抛弃了她们。阿飞决计找到生母,为此他只身前往南洋。一直暗恋苏丽珍的警察(刘德华)目睹了苏丽珍与阿飞的决裂后,决定改行去跑船。在菲律宾,他又见到了阿飞,此时的阿飞已在一场欧斗中身负重伤。他守着阿飞死在一列返乡的火车上。