年輕軍官許文強(張國榮)逃往路上被日本特務伏擊墮海,漂浮到外灘岸上時身體不支暈倒,丁力(劉德華)路過欲將其救卻遭其下意識的武力,兩人壹番打鬥後結為好友。丁力偶然救下上海大亨馮敬堯(吳興國)的千金馮程程(寧靜)後,許下心願要娶其為妻,但襄王有夢神女卻心另有所屬,馮程程只把他當好朋友,愛的恰是某次旅途中在火車上結識的他的好兄弟許文強,而許文強也因她的勇敢善良機智對她產生了好感。
許文強再次遇上馮程程時,激情沒能控制,與丁力的交情畫上句號。而當許文強與馮程程談婚論嫁時,許文強意外發現馮敬堯正是追殺他和同僚的幕後黑手,他的身份也被對方認出,火藥味頓時彌漫房間。