진주만 공습 60일 전, 미 정부 비밀요원인 폴(존 쿠색)은 CIA 동료이자 친구인 코너(제프리 딘 모건)의 죽음에 얽힌 진상을 밝히기 위해 기자로 위장해 상하이로 잠입한다. 살해당한 코너가 일본 정보부 수장 다나카 대좌(와타나베 겐)와 관련된 중요한 정보를 입수했음을 알게 된 폴은 그에게 접근을 시도하는 와중에 삼합회 보스 앤소니(주윤발)와 그의 아내 애나(공리)를 알게 된다. 중국 저항군이라는 애나의 숨겨진 신분을 알게 된 폴은 그녀를 지켜주려 하지만 비밀과 음모가 하나씩 드러나는 가운데 진주만 공습이 시작되고 네 사람의 운명은 상하이처럼 혼돈으로 치닫는다.
1941년 상하이는 그 자체로 하나의 매혹이다. 외세에 무력으로 개방된 이후 ‘동양의 파리’라 불릴 만한 우아함과 화려함 위에 세워진 이 혼란스런 도시는 당대의 서구 열강과 일본군, 그리고 중국의 저항군이 한데 뒤섞여 팽팽한 긴장감을 자아낸다. <상하이>는 제목 그대로 2차 세계대전 직전 열강의 각축장이었던 상하이에서 벌어지는 음모와 첩보전을 배경으로 역사의 소용돌이 한가운데 놓인 이들의 사랑과 엇갈린 운명을 그려나간다. 혼돈으로 가득 차 있지만 결코 뿌리칠 수 없는 유혹과 격정 또한 함께했던 상하이의 고혹적인 분위기는 이미 그것으로 이 영화의 모든 것이다. 거기에 더해 존 쿠색, 공리, 주윤발, 와타나베 겐 등 쟁쟁한 출연진의 면면을 살펴보면 이 영화가 왜 ‘글로벌 프로젝트’라 불리는지 금방 수긍이 간다.
하지만 그들이 모두 진정 상하이를 경험했다고 말하기엔 주저된다. <상하이>가 재현한 1941년의 상하이는 어딘지 유리되어 있어 정교한 모형을 보는 듯하다. 그것은 단지 중국에서 촬영을 불허하여 런던과 방콕의 세트에서 찍은 탓만은 아닐 것이다. 영화 오프닝과 엔딩에서 상하이 항구로 들어오고 나가는 이방인 폴의 시선이야말로 이 영화가 상하이를, 그리고 동양을 바라보는 시점이다.
타자를 통해 구축된 세계-상하이는 거대한 인형의 집으로 변모한다. <상하이>는 철저히 첩보요원 폴의 시선으로 포착되어 그외 인물들의 감정은 그저 기능적으로 배치되거나 전시된다. 결국 혼란스럽고 때론 끈적끈적해야 할 상하이의 공기마저 건조해져 마치 유리벽에 갇힌 인형의 집을 보는 듯한 인상을 남긴다. 배우들의 호연은 돋보이지만 그마저 기존의 익숙한 이미지의 반복일 뿐 한편의 깔끔한 인형극에서 벗어나지 못한다. 그렇게 상하이는 여전히 상상 속에 있다.