由澳門的一宗命案開始,名妓張美玲(張艾嘉)被發現在酒店房中刺殺了前度男友中村(鶴見辰吾)。在審判的過程中,發現了中村與美玲十年前的一段不可告人的往事,更發現美玲與夜總會經理白蘭(姚煒)之間曖昧的關係,而白蘭中村亦為了美玲而造成終身遺憾的錯誤。
《海上花》是楊凡導演的影片中戲劇原素最豐富的一部,其中有刻骨銘心的異性戀,有曖昧纏綿的女同性戀,有販毒與吸毒者的矛盾,有妓女與鴇母之間的衝突。
女主角張艾嘉在本片中的表現被譽為當年最優雅的演出,日籍男主角鶴見辰吾以極其浪漫的姿態風靡不少女性觀眾,而姚煒則成為中