Skip to schedule and film credits
A French civil servant (Jeremy Irons) in Mao's China falls in love with a beautiful opera singer (John Lone) — not realizing that "she" is both a man and a spy — in Cronenberg's adaptation of the acclaimed stage play by David Henry Hwang.
Adapted from the successful stage play by David Henry Hwang — which was loosely based on the incredible-but-true story of former French diplomat Bernard Boursicot — M. Butterfly stars Jeremy Irons as René Gallimard, a French embassy civil servant in Mao's China in the 1960s. He becomes infatuated with opera diva Song Liling (John Lone), whom, unbeknownst to him, is a man masquerading as a woman, both on- and offstage. The two begin an affair that lasts for twenty years, during which Gallimard remains unaware of his lover's true identity — or of the fact that he/she is acting as a spy for the Chinese government, feeding information provided by Gallimard on American troop movements in Vietnam to his/her spymaster superiors. Though seemingly of a piece with Fast Company as one of Cronenberg's most uncharacteristic films, this opulent yet intimate period drama in fact speaks to some of the filmmaker's key themes: transgressive sexuality, the divided self, and, in Gallimard's seemingly unbelievable inability to recognize the truth about his "perfect woman," the ability of the mind to transcend (or transform) biological reality.