年轻的军官许文强(张国荣)在逃亡路上遭到日本特务的袭击,落入海中。幸运的是,他被漂流到了外滩岸边,但是身体已经支持不住,晕倒在了那里。那时,丁力(刘德华)偶然路过,他想要施以援手,但被许文强下意识地使用武力而争斗起来。最终,两人打成了朋友。后来,丁力偶然救下了上海大亨冯敬尧(吴兴国)的女儿冯程程(宁静),丁力立下了誓言要将她娶为妻。但是,冯程程心里却已经爱上了另一个人,那就是许文强。在火车旅途中,她与许文强结识,对他的善良、勇敢和聪明产生了极大的好感。
当许文强再次遇到冯程程时,两人的激情难以抑制,终于终结了与丁力的友谊。许文强和冯程程决定要结婚,但是在此时,许文强偶然发现冯敬尧就是那个追杀他和他的同僚的幕后黑手。冯程程也意外地发现了许文强的身份,房间里充满了火药味。