Stella Raphael (Natasha Richardson) and her husband Max (Hugh Bonneville) move onto the grounds of a psychiatric hospital with their young son Charlie. Max is the newly appointed executive director of the hospital. The movie is set in the 1950s.
While living on the grounds Stella begins an intense sexual relationship with a patient named Edgar (Marton Csokas). Edgar was committed to the psychiatric hospital for brutally murdering his wife in a jealous rage.
Edgar escapes the hospital and eventually Stella leaves her husband and son to be with Edgar. He becomes physically abusive as his jealousy regarding Stella's movements increases. They are able to live together for a while without being detected.
Eventually, Stella is caught by a hospital doctor and returns to the grounds to reunite with her husband and son. Her husband was fired after all of the news regarding Stella and the patient gets back to the hospital and they relocate to another hospital in Wales.
While there Stella receives a phone call from Edgar and goes to meet him. The meeting was a set-up by Edgar's psychiatrist, Peter Cleave (Ian McKellen). Edgar is surrounded, captured and returned to the hospital.
Subsequently, Stella tries to resume her family life and accompanies Charlie on a school field trip. While on the trip Charlie drowns in a lake while Stella watches. She is so despondent that her relationship with Edgar is over that she doesn't notice that Charlie is in trouble until it's too late.
After Charlie's death, Max has Stella committed to the psychiatric hospital. Peter takes her on as a patient and eventually asks Stella to marry him. She agrees in hopes of being able to see Edgar. Once she realizes that Peter is not going to allow her to see Edgar, she commits suicide by jumping off of the building.