Sinopsis
Beijing, 1964. Rene Gallimard (Jeremy Irons), un functionar care urmeaza sa lucreze pentru ambasada franceza ajunge in Beijing. La cateva zile de la sosire, Rene se duce la Opera pentru a vedea spectacolul Madame Butterfly Puccini, dar mai ales interpretarea exoticei Song Liling (John Lone).

Gaillard se indragosteste nebuneste de ea si incep in scurt timp o relatie pasionala conditionata doar de dorinta ei ca Gallimard sa nu o dezbrace niciodata complet.

Francezul accepta regula, insa in timp ce el urca in sistem, guvernul comunist se implica si el, obligand-o pe Song sa devina informatoare. Cand relatia lor ajunge la stadiul firesc al nuditatii, Song renunta la relatie. Mistuit de suferinta, Gallimard se prabuseste fizic si psihic. La scurt timp, paraseste China si accepta o slujba ambigua in diplomatie, iar Song isi face aparitia din nou in viata lui.

Gallimard este acuzat de tradare si arestat, iar in timpul procesului afla adevarul despre relatia lui. Filmul porneste de la un incident real avand ca protagonist un diplomat francez care a avut, timp de 18 ani, o aventura cu ...o femeie care era, de fapt, barbat.