The novel takes place in Glasgow, Scotland, and is told from three different points of view: 15-year-old Marnie, her 12-year-old sister, Nelly, and Lennie, their homosexual, elderly neighbor. The story begins on Christmas Eve, Marnie's 15th birthday.
Marnie must enlist her sister's help in burying their dead parents, because if the bodies were discovered, the girls would be separated in foster care. As Marnie has always taken care of the family — doing laundry, food shopping, paying bills — she won't let her parents' deaths tear her and her sister apart. Unfortunately, their father, Gene, died in his bed, and they waited a week before burying him. The body leaks and then falls apart as they struggle to drag it down the stairs, out of the house and into the garden.
Their mother, Izzy, has an easier burial. She hung herself in the garden shed. Marnie insists they buy some lavender to cover the graves and hopefully hide the smell. She and Nelly scrub the house with bleach, but the foul odor of Gene's body still lingers. Their neighbor, Lennie, watches their gardening from his window. He speaks to his dead lover and tells him how the girls should never try to plant in the winter.
As Izzy and Gene were known drug addicts and drunks, no one in the neighborhood is surprised that they've disappeared. Marnie's two best friends are Kimbo — a bipolar, volatile girl — and Susie—a talented but depressed girl who lives with her grandmother after her mother abandoned her. Marnie keeps her parents' deaths a secret even from them because she worries they might accidently tip off the authorities.
Lennie tells his lover about the awful night he solicited a young man in the park for oral sex. The police discovered them, and Lennie learned, to his horror and shame, that the man was really a 15-year-old boy. It is obvious that Lennie is lonely and grieves the loss of his partner. He has adopted a dog that gives him some companionship. He continues to watch the girls through his window and eventually strikes up a conversation with Nelly. She is an odd child with no friends. Although she can play the violin like a maestro, she talks like someone in a Jane Austen movie.
Nelly asks Lennie to help her grow lavender in the garden. Lennie reluctantly agrees, mainly because his dog keeps digging up the ground around the lavender, and he feels guilty. Soon he invites both Nelly and Marnie over for meals. He asks where their parents have gone, and the girls tell him they're off on holiday to Turkey. He and Nelly share a passion for music, and he accompanies her violin on the piano.
The girls often spend the night in his house, as they hate the smell in their own home. Several months go by and still the girls are able to survive thanks to Lennie's help. He even poses as their uncle at school to discuss Nelly's truancy.
Nelly admits she hasn't been attending classes, but she goes to the school library where she can learn much more than in the overcrowded and undisciplined classrooms. Marnie is outraged at Nelly's behavior as it nearly brought the Social Work Department to their house. She beats Nelly, even breaking one of her teeth in the process.
Marnie has a job working for Mick, a middle-aged ice-cream-truck driver. In addition to ice cream, he sells drugs. She and Mick are having an affair. He admits his wife will kill them if she finds out. Mick pressures Marnie to tell him where her father is, as Gene owes him a lot of money. Nelly struggles through her first menstrual cycle, horrified by Lennie and Marnie's explanations as to what is happening to her. She wants nothing to do with it, or boys, or having babies.
Robert T. MacFarland, the girl's grandfather, shocks them by showing up on their doorstep. Izzy had told the girls he was dead. He admits to abandoning Izzy and her mother when she was young, but now he's found religion and wants to make amends. Marnie wants nothing to do with the man, while Nelly wants to extend forgiveness. She goes out to breakfast with him but won't admit that Izzy and Gene are dead.
Lennie doesn't trust MacFarland and believes there's something dark underneath the repentant exterior. Meanwhile, Vlado, a large man who is an immigrant and a thug, pressures Mick into firing Marnie when he learns that she is extremely intelligent. Marnie begs Mick to keep her on, or at least give her the money he owes her. Mick says she'll get her pay when her father returns Mick's money.
Lennie takes the girls on holiday to a cottage he has by the sea. They return, however, to irate notes from MacFarland. He is furious that Lennie took the girls away without telling him. They're rattled when he says he nearly called the police to look for them. Lennie convinces MacFarland that Izzy left the girls in his care while she went to Turkey and that the trip was something to which she'd agreed.
Marnie goes to see Vlado to try and get back her job with Mick. Vlado gives her a job cleaning his apartment instead. They develop a friendship as Vlado, a former teacher, helps Marnie to study for her upcoming exams.
Marnie's friend Susie demands to know where Gene has gone. She confesses that she and Marnie's father were having an affair and were planning to get married. She shows Marnie the plane tickets he'd bought for them to go to Spain. Susie threatens to call the police if Marnie doesn't tell her the truth. Marnie sticks to the story that he's in Turkey and promises, if Susie sends the police to look for him, she'll tell them Susie's real age so they can bring charges of statutory rape against her father.
Marnie feels abandoned by everyone in her life except Lennie, but fears the elderly man's erratic behavior of late is a sign that he's an alcoholic like her parents. Lennie discovers the reason for his headaches and memory loss is due to a brain tumor. He is afraid of dying because of the things he's done wrong in his life. He doesn't tell the girls of his diagnosis, so they continue to think he has a drinking problem.
Marnie begins a relationship with Kirkland, a Goth boy from school. His parents are rich Buddhists, and it's obvious his mother hates Marnie. At first, Marnie doesn't want to admit she has feelings for him, but when he gets together with a different girl at a bar, she becomes jealous. The two end up at his house for the weekend while his parents are away. She falls madly in love with him.
Mick breaks into Marnie's house, looking for the money her father owes him. Lennie sees them talking in the garden and thinks Mick is there to have sex with Marnie. He calls Mick's wife. Nelly thinks he's calling the police because his dog has dug up one of her parent's limbs. Mick's wife arrives before Mick finds the bodies. She attacks Marnie, hitting her over the head and kicking her. Marnie's grandfather arrives, and when he learns that Mick has been having sex with his granddaughter, he begins choking Mick. Mick's wife hits the grandfather with a frying pan and knocks him out. When he wakes up, he insists on knowing where Izzy has gone. Marnie says that her mother abandoned them, just as he had abandoned Izzy as a girl.
As Lennie's behavior becomes more erratic, Nelly spends more time with MacFarland. Her grandfather likes to go to St. Mary's church. Nelly is allowed to play her violin on the altar. Even Marnie begins to trust her grandfather, although her friend Kim says there's something not right about him. He begins to buy them things and starts paying the rent on their house. Lennie is worried for the girls, as he doesn't trust MacFarland.
Marnie witnesses some of her grandfather's underlying anger one afternoon, and she decides to be very cautious around him. Nelly is furious that Marnie won't accept MacFarland's invitation to spend the night at his house. She thinks he's been sent from heaven to help them. Marnie finally agrees to stay the weekend with her grandfather.
She becomes irate listening to him describe how cute Izzy had been as a child, when Marnie knows he used to beat her. She finally confronts her grandfather with the truth about beating Izzy, leaving him to drink away his misery in the living room. Later that night, Marnie finds a picture of herself, Nelly, and their mother. Her grandfather admits that Izzy had contacted him when the girls were small, hoping he would help her get away from Gene.
MacFarland refused to take her into his home, because he'd repented of his past sins and didn't want his new reputation ruined. Nelly finds more photographs of MacFarland and another woman. He admits they're of his second wife, whom he left when she wanted to open a bar. Nelly is furious and insists on packing their bags and leaving first thing in the morning, which they do.
Marnie is crushed when Kirkland's mother refuses to let him see her anymore. She knows that Marnie used to sell him drugs when she worked for Mick. Marnie winds up having a breakdown in the park. Vlado finds her and brings her home to Lennie's house.
The only thing that brings Marnie out of her stupor is Nelly's confession that she thinks she killed Lennie's dog. She'd accidently hit him in the head with a board when the dog kept digging at their parents' grave. Fortunately, the dog isn't dead, but does have a cut on his head. Lennie believes ruffians in the neighborhood hurt it because of his reputation.
MacFarland does not give up easily and insists on trying to be in the girls' lives. He asks Nelly to help him find Izzy. When Nelly refuses, he claims that things are going to change. He tells her to pack a suitcase and one for her sister as well.
Lennie's dog finally manages to bring a bone into the house while the girls are out. When he realizes it's a foot, Lennie is beside himself. Vlado arrives, looking for Marnie. The two men follow the dog outside and discover the bodies of Gene and Izzy. Lennie knows the trouble the girls will get into and doesn't think it's fair since their parents were so abusive and neglectful.
Lennie and Vlado move the bodies to Lennie's yard. Later, when MacFarland turns Vlado into the police for drug trafficking, it is Lennie who helps him escape. Marnie is crushed by the loss of her mentor. He leaves behind several notes telling her how much he cared for her like a daughter, and how she is a very special person. Marnie finds the money her father stole from Mick and keeps it hidden in case she and Nelly must someday escape themselves.
MacFarland calls a social worker on Lennie and the girls. Lennie becomes irate and locks the social worker out of his house. The police are called, and when they come to arrest Lennie, he confesses that he's a murderer, that he killed the girls' parents and buried them in his garden. He collapses and is taken to the hospital. The girls play along with Lennie's confession as they know now of his brain tumor. Nelly sneaks to the hospital to tell Lennie goodbye. Marnie does, too, but arrives too late.
Their grandfather is given custody of them. Nelly tries to live up to MacFarland's rigid expectations for their behavior, but Marnie is still unforgiving. She is often forced to kneel in prayer on his hard wooden floor in repentance for her transgressions. He gleefully tells her he will kick her out on her 16th birthday so she will be out of Nelly's life forever.
Marnie steals back into their old home to retrieve the money she's kept hidden in the shed so she and Nelly can escape. But her grandfather has followed her. He sends Nelly to her room and then prepares to beat Marnie. Mick appears and points a gun at his head. Mick makes Marnie tie her grandfather to a chair and give him the money Gene stole. They lock him in the closet.
Before they leave their grandfather's house, Marnie describes how Izzy smothered Gene with a pillow and then committed suicide. Lennie was innocent of everything but trying to protect the girls. Unbeknownst to anyone, Lennie had given Nelly the keys to his remote cabin by the sea. Marnie and Nelly arrive there to find Vlado already in residence. The three begin the process of healing and making a new life together.