At the height of World War II, Lady Susan Ashwood (Irene Dunne) is a nurse in a British hospital, awaiting the arrival of some wounded men. She thinks back to how she came to Britain many years before.
In 1914, Susan and her father Hiram P. Dunn (Frank Morgan) (publisher of a small-town newspaper) came to Britain, intending to stay for two weeks. Old Colonel Forsythe (C. Aubrey Smith) introduces Susan to Sir John Ashwood (Alan Marshal), a baronet and one of the landed gentry, with an estate and manor house. They fall in love, and despite some friction over her being American, they marry.
Their honeymoon is cut short when World War I breaks out. John is also an army officer; he rejoins his regiment and goes to war in France. Susan and John's mother, Lady Jean (Gladys Cooper) must wait for news, good or bad. John's brother Reggie (John Warburton) is killed in action. John finally gets a chance to be with Susan for a few days in France, which they spend in Dieppe. During their stay, the United States declares war on Germany.
Lady Susan returns to Britain and has a son, also named John. She, baby John, and Colonel Forsythe watch together as newly-arrived American troops parade through London. The war ends, but tragically, John is killed near the end of the fighting, never having seen his wife again, or his son.
Susan and young John (Roddy McDowall) live in the Ashwood manor house with Lady Jean. Having inherited the baronetcy, he is addressed as "Sir John", even as a boy, and takes seriously his duties as proprietor of the manor. He develops a childhood infatuation with Betsy Kenney (Elizabeth Taylor), daughter of a tenant farmer. Young John invites two visiting German boys to the manor for tea. The German boys shock the Ashwoods by spouting bellicose militaristic sentiments.
Susan becomes afraid that there will be another war, and that she will lose young John as she lost his father. After Lady Jean dies, she decides to sell the manor and take John to America. But when she tells him why, John refuses, insisting that he will go into the army as his father did, and fight for Britain if war comes. Susan changes her mind and they stay in Britain.
World War II begins, and Sir John (now played by Peter Lawford) becomes an officer, while his sweetheart Betsy (now played by June Lockhart) becomes a Wren.
The flashback ends, as wounded men arrive at Susan's hospital. To Susan's horror, John is among them, severely wounded. Later, in the wards, a doctor tells Susan John is dying. John tells her he was wounded in fighting at Dieppe, and of an American soldier who died near him. He speaks of the importance of winning a complete victory and a lasting peace. At that moment, American soldiers again parade through London, passing by the hospital. Susan proudly describes them to John, as he dies.
The source poem has no mention of a romantic partner for Susan's son, John. The poem clearly states that John is following his father into the army, but ends ends with only Susan's fear that John might die in the war, not that he has even been sent to fight yet.
The role of Betsy was shared. Betsy as a little girl at age 10 was played by Elizabeth Taylor and Betsy as a young woman was played by June Lockhart.
In a scene set in the early 1930s, adolescent German boys visit the Ashwood estate. One of the boys remarks that the estate's large lawns would be ideal for troop gliders to land on - a premonition of the airborne attacks launched by Nazi Germany.
According to MGM records, the film was a big hit and earned $6,294,000 (equivalent to $86 million in 2016) at the box office, resulting in a profit of $1,784,000 (equivalent to $25 million in 2016).
The film was nominated for the Academy Award for Best Cinematography in Black and White.
White Cliffs of Dover was adapted as a radio play on the September 18, 1946 episode of Academy Award Theater, starring Irene Dunne in her original film role.