In seiner zweiten Zusammenarbeit mit Schauspieler John Cusack nach Zimmer 1408 inszenierte der schwedische Regisseur das Weltkriegsdrama Shanghai, in dem der Amerikaner Paul Soames (John Cusack) nach Shanghai zurückkehrt, das von Korruption zerfressen und von den Japanern besetzt ist. Hier erfährt er, dass sein Freund getötet wurde. Daraufhin macht er sich auf, die mysteriösen Umstände seines Todes zu klären. Während seiner Untersuchungen kommt er mit der Liebe in Kontakt und entdeckt ein noch größeres Geheimnis, das seine Regierung bedeckt hält.