In 1935 England, 13-year-old Briony Tallis is from a wealthy family set to perform a play she has written for an upcoming family gathering. Looking out of her bedroom window, she spies on her older sister, Cecilia, and the housekeeper’s son, Robbie Turner, on whom Briony has a crush. Robbie accidentally breaks a vase and yells at Cecilia to stay where she is, so as to avoid cutting her feet on the broken pieces on the ground. Cecilia then strips off her outer clothing and climbs into a fountain basin to retrieve a piece. Briony misinterprets the scene as Robbie ordering her to undress and get in the water.
Robbie drafts a note to Cecilia to apologise for the incident. In one draft, designed only as a private joke, he confesses his sexual attraction to her and uses the explicit word “cunt”. He then writes a more formal letter and gives it to Briony to deliver. Only afterwards does he realise he has given her the wrong letter. Briony reads the letter before giving it to Cecilia. Later, she describes it to her fifteen-year-old visiting cousin, Lola, who calls Robbie a “sex maniac”. Paul Marshall, a visiting friend of Briony’s older brother introduces himself to the visiting cousins and appears to be attracted to Lola. Before dinner, Robbie apologises to Cecilia for the obscene letter but, to his surprise, she confesses her secret love for him. They proceed to make passionate love in the library. Briony walks in on them and thinks that Robbie is raping Cecilia.
At dinner, Lola’s twin brothers go missing and a search is organised. During it, Briony sees Lola apparently being raped by a man, who flees upon being discovered. Lola and Briony talk and come to the conclusion that it was Robbie who assaulted her. Based on their testimony and the explicit letter he wrote to Cecilia, he is arrested.
Four years later, during the Second World War, Robbie has been released from prison on the condition that he joins the army and fights in the Battle of France. Separated from his unit, he makes his way on foot to Dunkirk. He thinks back to six months earlier when he met Cecilia, now a nurse. Briony, now 18, has chosen to join Cecilia’s old nursing unit at St Thomas’ Hospital in London rather than go to the University of Cambridge. She writes to her sister, but Cecilia has not forgiven her for lying in the investigation years before. Robbie, who is falling gravely ill from an infected wound, finally arrives at the beaches of Dunkirk, where he waits to be evacuated.
Later, Briony, who now regrets implicating Robbie, learns from a newsreel that Paul Marshall, who now owns a factory supplying rations to the British army, is about to be married to Lola. Briony goes to the ceremony and, as the priest asks if anyone objects to the union, she realises that it was Paul who assaulted Lola. Briony goes to visit Cecilia to apologise directly. She is surprised to find her sister with Robbie, who is in London on leave. Briony apologises for her deceit, but Robbie is enraged that she has still not accepted responsibility for her actions. Cecilia calms him down and they ask Briony to try and correct the record and get Robbie’s conviction overturned. Briony agrees but points out that Lola will not be able to testify against her husband and that her own testimony will probably be viewed as unreliable.
Decades later, Briony is an elderly and successful novelist, giving an interview about her latest book, an autobiographical novel titled Atonement. She confesses that the scene in the book describing her visit and apology to Cecilia and Robbie was entirely imaginary. Cecilia and Robbie were never reunited: Robbie died of septicaemia at Dunkirk on the morning of the day he was to be evacuated and Cecilia died months later in the Balham tube station bombing during the Blitz. Briony hopes to give the two, in fiction, the happiness that she robbed them of in real life. The last scene shows an imagined, happily reunited Cecilia and Robbie staying in the house by the sea which they had intended to visit once they were reunited.