Em 1938, quando Shanghai é ocupada pelos japoneses, o traficante Walter Faraday (Paul Freeman) aparentemente é morto pela polícia ao tentar deixar a cidade com 500 kg de ópio. Um ano depois a misteriosa americana Gloria Tatlock (Madonna) chega a Shanghai à procura deste ópio, conhecido como "as flores de Faraday", com o objetivo de usá-lo para aliviar a dor de soldados feridos na guerra. Oferecendo uma passagem de volta aos Estados Unidos como pagamento, ela consegue a ajuda de Glendon Wasey (Sean Penn), um rude e esperto comerciante, para atingir seu objetivo.