Rene Gallimard (Irons) francuski je diplomatski dužnosnik u Pekingu, u Kini 1964. godine. Nespreman je na snažne osjećaje koji ga obuzmu kada ugleda divu pekinške Opere dok izvodi Puccinijevu operu „Madame Butterfly“. Gallimard upoznaje, a potom postaje opsjednut svojom tajnovitom muzom Song Liling (Lone) koju nazove „Butterfly“. Slijedi je u tajnovit svijet kineske glazbe, kulture i napokon se upušta u tako strastvenu ljubavnu aferu da spremno riskira, a potom i odbacuje svaki ostali dio svog života.
Dok se Gallimardovo postojanje, držanje i njegov temeljni karakter mijenjaju, on se neočekivano počinje penjati na diplomatskoj ljestvici. Njegovo stručno znanje o kineskim kulturnim zbivanjima postaje poznato i učvršćuje njegov diplomatski status, iako Gallimardu ništa osim predmeta njegove ljubavi nije važno. Ali ova grozničava fantazija ne može potrajati: Gallimard otkriva da je bio predmet smrtonosne igre međunarodne političke manipulacije.