In 1935, Briony Tallis, a 13-year-old girl from a wealthy English family, has just finished writing a play. As Briony attempts to stage the play with her cousins, they get bored and decide to go swimming. Briony stays behind and witnesses a significant moment of sexual tension between her older sister, Cecilia, and Robbie Turner, a servant's son, a man that Briony has a childish crush on. Robbie returns home and writes several drafts of letters to Cecilia, including one that is explicit and erotically charged. He does not, however, intend to send it and sets it aside. On his way to join the Tallis family celebration, Robbie asks Briony to deliver his letter, only to later realise that he has mistakenly given her the prurient draft. Briony secretly reads the letter and is simultaneously disgusted and jealous.

That evening, Cecilia and Robbie meet in the library, where they make love and then confess their love for one another. During the act, Briony watches through the partially open door and her confused emotions about Robbie become heightened. At dinner it is revealed that the twin cousins have run away. Briony goes off alone into the woods looking for them and stumbles upon a man running away from apparently raping her teenage cousin Lola. Lola claims that she does not know the identity of her attacker. In a fit of pique, the still-hurt Briony tells everyone, including the police, that she saw Robbie commit the act. She shows Robbie's shocking letter to her mother. Everyone believes her story except for Cecilia and Robbie's mother. Robbie is arrested and sent to prison.

Four years later, Robbie is released from prison on condition that he join the army. He is assigned to A Company, 1st Battalion, Royal Sussex Regiment. He is reunited with Cecilia (who has not spoken with her family since the incident) in London, where they renew their love before he is shipped off to the French front. Briony, now 18, has joined Cecilia's old nursing corps at St. Thomas's in London because she wants to be of some practical use to society and has given up an offer she received from Cambridge. Her attempts at contacting her sister go unanswered, as Cecilia blames her for Robbie's imprisonment. Later, Robbie, wounded and very ill, finally arrives at the beaches of Dunkirk, where he waits to be evacuated.

Briony, now fully understanding the consequences of her accusation, later visits the now-married Cecilia and Robbie to apologise to them directly. Cecilia coldly replies that she will never forgive her. Robbie, in a rage that almost becomes physical, confronts Briony and demands that she immediately tell her family and the authorities the truth. Briony admits that the rapist was actually family friend Paul Marshall, but that he cannot be implicated in a court of law because he has married Lola.

Decades later, an elderly Briony reveals in an interview that she is dying of vascular dementia, and that her novel, Atonement, which she has been working on for most of her adult life, will be her last. Briony reveals that the book's ending where she apologised to Cecilia and Robbie is fictional. Cecilia and Robbie never saw each other again once he left for war. In reality, Robbie actually died at Dunkirk of septicemia while awaiting evacuation, and Cecilia died a few months later as one of the flood victims in the Balham tube station bombing during The Blitz. Briony hopes that, by reuniting them in fiction, she can give them the happy conclusion to their lives that they had always deserved. The last scene of the movie has Cecilia and Robbie once again together in what could be a fictional plane of existence.***