Rene Gallimard (Jeremy Irons) ist Mitte der 1960er Jahre französischer Diplomat in China und unter seinen Kollegen aufgrund seiner Strebsamkeit nicht besonders beliebt. Als er nach einer Aufführung des Opern-Stücks "Madame Butterfly" die verführerische Sängerin Song Li (John Lone) kennen lernt, verliebt er sich auf den ersten Blick in die ...
James Reed, der mit seinem derzeitigen Leben zufrieden ist, kehrt widerwillig nach Hause zurück zum Familienunternehmen, einem kranken Vater und einem Bruder, mit dem er immer im Streit liegt. Er muss lernen, Opfer für diejenigen zu bringen, die er liebt – selbst auf Kosten seiner eigenen Träume.