Elisabeth Laurier (Sophie Marceau) is a Swiss governess in the early 1800s. She agrees to have an English landowner's child in exchange for money to cover her father's debts. Even though they agree that she will give up the baby, they grow feelings for each other. When the baby is born, Elisabeth keeps her word and gives the child over to her father. She misses her baby girl and uses a journal of paintings to acknowledge the years of her daughter's life.
Later on, the Englishman, Charles Godwin (Stephen Dillane), is struggling to keep his estate. The child is virtually a brat whom no one can stand. She receives no discipline, and Charles's wife is basically brain-dead from a horseback riding accident.
Elisabeth has searched for her daughter and finally located her seven years later. Charles doesn't want Elisabeth near his family but is talked into letting her stay until something else can be arranged. Elisabeth is appalled at her daughter's behavior. She wants to teach her daughter to be a loving girl and uses tough tactics to do so. Charles is furious but relents when Elisabeth promises not to harm her.
Charles's feelings for Elisabeth flare up, and he knows they can't be together as long as his wife lives. He exposes her body to the cold, and she dies. Charles's sister in-law expects that Charles will marry her, but she realizes that he loves Elisabeth. She backs away from the situation to save face. Elisabeth asks if he did indeed kill his wife, and he admits that he did. Guilt runs through them both, but they are able to get past it.
Louisa (Dominique Belcourt), Charles's daughter finds the journal Elisabeth kept. She discovers that Elisabeth is in fact her true mother. The estate is sold, and the trio leave through the snow to start their new life together.