In 1973, 14-year-old Susie Salmon, living in Pennsylvania with her parents, sister, and brother, dreams about becoming a photographer some day. One day, Ray Singh, a boy she has a crush on, approaches her at her locker and slips a note into her textbook. He asks her out for the following Saturday.
As Susie walks home through a cornfield, she runs into her neighbor, George Harvey, who coaxes her into his underground den. Inside, Susie becomes uncomfortable in Harvey's presence and attempts to leave; when he grabs her, the scene fades until she is seen rushing past classmate Ruth Connors, apparently fleeing from Harvey's den.
Meanwhile, the Salmon family becomes worried when Susie fails to return home from school. Her father, Jack, leaves to search for her, while her mother, Abigail, waits for the police. In town, Susie sees her father, but he does not respond to her when she calls him. Susie then runs home to find Harvey soaking in a bathtub.
After seeing her charm bracelet hanging on the sink faucet near a bloody shaving razor, Susie realizes that she never escaped the den and was actually murdered by Harvey. Screaming, she is pulled into the "In-Between", that is neither Heaven nor Earth. From there, Susie watches over her loved ones, unable to let go despite the urging of her new afterlife friend, Holly, to move on.
Investigating Susie's disappearance with Detective Len Fenerman, Jack thinks Susie was murdered by someone she knew. He begins obsessively researching neighbors, including Harvey, who actually murdered Susie; Jack also comes to think Harvey is the killer. But after interviewing Harvey, Fenerman is unable to find any evidence that would pinpoint him as a suspect, as Harvey cleaned up all evidence of Susie's murder before they arrived.
Susie's sister, Lindsey, comes to agree with her father's suspicions, but their casework takes an emotional toll on Abigail, and Jack invites his wife's alcoholic mother, Lynn, to move in with the family. Feeling alienated from her husband, Abigail leaves for California. Susie, in her afterlife, inspects a lighthouse and learns that Harvey, who has now targeted Lindsey as his next victim, has murdered seven other girls, including Holly, and that he stuffed Susie's body into a safe in his basement.
One night, Jack, carrying a bat, trails Harvey into the cornfield. However, Jack accidentally stumbles across Susie's friend, Clarissa. Her boyfriend, Brian, who mistakenly thinks his girlfriend is being assaulted, nearly bludgeons Jack to death as Harvey watches from a hiding spot nearby.
Meanwhile, as Jack recuperates, Lindsey breaks into Harvey's house looking for evidence that he killed Susie. Upstairs, she finds a notebook containing a sketch of the den, a lock of Susie's hair, and news articles about Susie's disappearance. Harvey returns home and almost catches Lindsey in his house, but she manages to escape and rushes back home to discover that her mother has returned.
Not wishing to spoil her parents' happy reunion, she hides the book from them and instead gives it to her grandmother. Fearful of being caught, after seeing Lindsey running from his home, Harvey flees, taking with him the safe containing Susie's remains.
The realm in Susie's afterlife begins expanding into a larger heaven, and she is greeted by Harvey's other victims. She resists Holly's urging to enter Heaven along with the others, claiming she has one final thing to do. Meanwhile, Susie's classmates Ruth and Ray are present when Harvey drives up to dispose of the safe at a sinkhole dump site on the Connors' property.
Susie returns to Earth and enters Ruth's body, causing Ruth to faint. Ray rushes to Ruth's aid only to realize she has become Susie. They share a kiss, completing Susie's last wish, and she returns to Heaven as Harvey drives away. Meanwhile, the safe is seen tumbling down the sinkhole before disappearing into the muddy water.
Sometime later, Harvey meets a young woman outside a diner and offers her a ride, but she rejects him and leaves. A large icicle falls from an overhead branch, hitting Harvey on the shoulder. He loses his balance on the ice and falls backward over a cliff to his death.
Time passes, and Susie sees that her family is healing, which Susie refers to as "the lovely bones" that grew around her absence. As the film concludes, Susie finally enters Heaven, telling the audience: "My name is Salmon, like the fish; first name Susie. I was 14 years old when I was murdered on December 6, 1973. I was here for a moment and then I was gone. I wish you all a long and happy life."