Barbara Covett (Judi Dench) is a history teacher at a comprehensive school in London. A spinster nearing retirement, her comfort is her diary. When an art teacher, Sheba Hart (Cate Blanchett), joins the staff, Barbara discovers that Sheba is having a sexual relationship with a 15-year-old student, Steven Connolly (Andrew Simpson), and confronts her.
When Sheba asks her not to tell the school administration until after Christmas as she wants to be with her family, Barbara explains she has no intention of informing, providing Sheba ends the relationship immediately. Sheba does not end the affair, causing Barbara to taunt her emotionally, leading her to tell Stephen that the affair is over. Barbara's elderly cat has to be put down and when she demands that Sheba comes with her to the vet, Sheba refuses and attends her son's first recital. Still angry, Barbara takes the opportunity to reveal the secret when a male teacher calls on Barbara to tell her that he is attracted to Sheba and wants to know if she will sound out his chances with her. In response, Barbara reveals the information about the affair and waits on the results.
After the affair becomes public, Barbara and Sheba both lose their job because Barbara is accused of knowing about the affair and not notifying the authorities. Sheba is kicked out of her home by her husband and moves into Barbara's house which is exactly what Barbara wanted. Sheba is clueless to the fact that Barbara is the reason she was found out, believing the affair became known because Steven confessed it to his mother, but Sheba finds Barbara's diary and learns it was Barbara who leaked the story of the affair. When Barbara returns from a shopping trip, she is confronted by Sheba, who strikes her in anger. A row ensues; Sheba calls Barbara a "vampire". Barbara says she has done her a favour by getting her out of a hopeless marriage. The two of them continue to shout and fight with one another, and Sheba claims that Barbara never really liked her, but in fact manipulated her for her own personal needs.
Sheba runs outside with Barbara's journal to streams of reporters and photographers. She shouts at them hysterically, but becomes hemmed in, at which point Barbara rescues her. Sheba's emotions spent, she quietly tells Barbara that she had initiated the friendship with Barbara because she liked her and they could have been friends. Barbara says she needs more than a friend.
Sheba leaves Barbara, placing the journal on the table. Sheba returns to her family home. Richard and Sheba face one another silently for several moments, and then Richard allows her to enter. Sheba is sentenced to 10 months in jail. In the final scene, Barbara meets another younger woman who is reading a newspaper about the Sheba Hart affair. Barbara says she used to know Sheba, but implies they hardly knew each other. Barbara introduces herself, invites her to a concert, and the pair continue to talk.