87年3月上旬开始进行为期三周的拍摄，这也让本片成为1940年代后第一部在上海拍摄的美国电影。中国政府允许了剧组将一些字符改为繁体中文，并暂时封闭一些街区来进行拍摄，另外还动用了超过5000名当地的临时演员，其中有一些年纪已经大到可以回忆起40多年前日本占领上海的景象，还有些中国人民解放军士兵扮演了日本军人。据说为了取得实景，当时斯皮尔伯格花巨资移走了黄浦江上所有20世纪30年代后生产的船只。其他拍摄地点包括安达鲁西亚的特雷武赫纳，柴郡的诺士佛和伯克郡的。在英国拍摄时，里恩也经常造访片场。斯皮尔伯格希望