編劇朱天文在《悲情城市》劇本書裡的「悲情城市十三問」中提到,1985年底「侯孝賢擺盪於市場考慮和創作意圖之間,是或者不是,做哈姆雷特的選擇。此時製片張華坤替他發了一記怪招,找來兩個在現實跟邏輯上都不可能碰到一起的人讓他們碰見,楊麗花與周潤發。」
「楊麗花的台語跟豪氣,周潤發的廣東話跟帥,雄見雄,所以設計楊是酒家大姐頭,周從香港來身負密務,也許是查訪一批不明被吞的走私貨。兩人打衝突起,經過一些事情,發展出微妙的關係,彼此相知甚深之類的,云云。符合這種故事發生的背景,台灣似乎只有放在基隆港連帶其腹地金瓜石、九份、北投、台北,複雜且老早已發展。」
故事幾經討論,時間設在1949年的基隆,楊麗花與周潤發是主線、另有一對年輕戀人做為支線,相互穿插,還替楊麗花的角色取了一個名字「阿雪」。吳念真寫出故事大綱後,香港嘉禾電影有興趣,但希望改成香港版。此時侯孝賢先去拍《戀戀風塵》,另一方面因侯孝賢對角色出身背景總希望有清晰的輪廓,又開展出「阿雪」父祖輩的家族成員歷史。
《戀戀風塵》後,侯孝賢又拍了《尼羅河女兒》,與嘉禾的合作案未成,圍繞「阿雪」龐大的故事則取名為《悲情城市》,出現在投資者邱復生眼前。接著《悲情城市》基本架構確定為1945年二戰結束至1949年,「阿雪」改成少女,劇情重心則放在「阿雪」的父親(陳松勇飾演)、三叔(高捷飾演)與四叔(梁朝偉飾演)。電影在1988年11月25日開鏡,1989年9月15日於威尼斯影展拿下金獅獎。