故事以1960年代初期為背景,英俊不覊的旭仔(阿飛)(張國榮 飾)從未見過生母,自小由養母(潘迪華 飾)養大,因此長大後他對生命中遇到的每一個女人都冷酷無情。放蕩不羈的他先後與售票員蘇麗珍(張曼玉 飾)和舞女咪咪(劉嘉玲 飾)同居,但後來又相繼拋棄了她們。旭仔決要找到生母,為此他隻身前往南洋,可是生母拒見,讓他再次受到傷害,帶著怨恨離開。一直暗戀蘇麗珍的警察超仔(劉德華 飾)目睹了蘇麗珍與旭仔的決裂,並在母親死後,決定改行去跑船。超仔在菲律賓又見到了旭仔。不久,旭仔在一場毆鬥中身負重傷,最後超仔守著死在一列異國火車上的旭仔。