On a brief trip to London in the early 1920s, earnest and bookish bacteriologist Walter Fane (Edward Norton) is dazzled by Kitty Garstin (Naomi Watts), a London socialite. He proposes; she accepts ("only to get as far away from [her] mother as possible"), and the couple honeymoon in Venice. They travel to Walter's medical post in Shanghai, where he is stationed in a government lab studying infectious diseases. They are ill-suited, with Kitty much more interested in parties and the social life of the British expatriate community.
She meets Charles Townsend (Liev Schreiber), a married British vice consul, and they have an affair. When Walter finds out, he threatens divorce for adultery unless she accompanies him to a village in a remote area of China where he has volunteered to treat victims of an unchecked cholera epidemic. Kitty begs for a quiet divorce, which he initially refuses, but later says only if Townsend will leave his wife Dorothy to marry her. Charles declines to accept, despite earlier claiming his love for Kitty.
The couple embark upon an arduous, two-week-long overland journey to the mountainous inland region, which is considerably faster and much easier if they traveled by river, but Walter is determined to make Kitty as uncomfortable as possible. Upon their arrival in Mei-tan-fu, she discovers they will be living in near-squalor, far removed from the town. Their cheerful neighbor Waddington (Toby Jones) is a British deputy commissioner living in relative opulence with Wan Xi (Lü Yan), a young Chinese woman.
Walter and Kitty barely speak. Except for a cook and a Chinese soldier assigned to guard her during unrest due to the Chinese civil war, she is alone for long hours. After visiting an orphanage run by a group of French nuns, Kitty volunteers and she is assigned to work in the music room. She is surprised to learn from the Mother Superior that her husband loves children, especially babies. She begins to see him differently, that he can be unselfish and caring. When he sees her with the children, he also realizes she is not as shallow and selfish as he had thought. Their marriage begins to blossom in the midst of the epidemic. She soon learns she is pregnant, but is unsure who the father is. Walter – in love with Kitty again – assures her it doesn't matter.
The cholera epidemic takes many victims. Just as Walter and the locals are starting to get it under control – due to his creating a system of aqueducts to transport clean water – cholera-carrying refugees from elsewhere arrive in the area, and Walter sets up a camp for them outside town. He contracts the disease and Kitty lovingly nurses him, but he dies, and she is devastated. Bereft and pregnant, she leaves China.
Five years later, Kitty is seen in London, well-dressed and apparently happy, shopping with her young son, Walter. They are picking flowers for their visit to Walter's grandfather. They meet Townsend by chance on the street, and he suggests that Kitty meet with him. Asking young Walter his age, he realizes from the reply that he might be the boy's father.
Kitty rejects his overtures and walks away. When her son asks who Townsend is, she replies: "No one important, darling".
Edward Norton as Walter Fane
Naomi Watts as Kitty Garstin Fane
Toby Jones as Waddington
Diana Rigg as Mother Superior
Anthony Wong as Colonel Yu
Liev Schreiber as Charles Townsend
Juliet Howland as Dorothy Townsend
Alan David as Mr. Garstin
Maggie Steed as Mrs. Garstin
Cheng Sihan as Warlord Kwei
Lucy Voller as Doris Garstin
Marie-Laure Descoureaux as Sister St. Joseph
Zoe Telford as Leona
Lü Yan as Wan Xi
Xia Yu as Wu Lien
Feng Li as Song Qing
based on the 1925 novel of the same title by W. Somerset Maugham
This is the third film adaptation of the Maugham book, following a 1934 film starring Greta Garbo and Herbert Marshall and a 1957 version called The Seventh Sin with Bill Travers and Eleanor Parker