Sherry Swanson (Maggie Gyllenhall) arrives at the Genesis House, a way station for women who have recently been paroled from prison. A recovering heroin addict, she has just completed a three-year sentence for robbery to support her addiction. Although she has her own private room, she has chores she must perform and must share a pay phone with the other residents.
Accustomed to using sex to get what she wants, she quickly seduces Andy (Rio Hackford), who manages the house. She also performs oral sex on her job placement counselor so he will get her the job she wants working in a daycare center.
Sherry struggles with wanting to use again, and befriends Dean (Danny Trejo), a fellow recovery group member who remembers her from a bar she used to frequent when she was underage.
She wants to be a good mother to her daughter, Alexis (Ryan Simpkins), who has been cared for by Sherry's brother, Bobby (Brad Henke), and sister-in-law, Lynette (Bridget Barkan). Alexis is confused about her mother's return, a situation that is not helped by Lynette's disapproval of Sherry and insistence that Alexis call her mother and Sherry by her first name.
Sherry gets into conflict with another woman at Genesis and moves in with Bobby and Lynette. When her father (Sam Bottoms) and his wife come for a visit, Sherry tries to impress everyone by singing "Eternal Flame," but the family is clearly more interested in Alexis and uncomfortable around Sherry. Alexis tells Sherry that Lynette doesn't want her to call Sherry mother, and Alexis and Lynette fight. Bobby takes Sherry to a motel. The next day, when Sherry reports to her parole officer, Hernandez (Giancarlo Esposito), he threatens to send her back to prison because she did not go through proper channels to leave Genesis. When a search doesn't turn up any drugs, Hernandez reveals she has a job at a local Catholic day care center.
After completing her first day at the center, she goes to visit Dean, with whom she has begun a sexual relationship. Hernandez is tailing her and notes her new friend. Back at the motel, Sherry calls Bobby and asks to speak to Alexis. They fight when he tells her that Alexis is sleeping in the middle of the afternoon. Sherry is angry that the family doesn't tell her that Alexis's birthday party is being held at her father's home in the suburbs, a mood that is not helped when Lynette continues to behave as though Alexis is her daughter. When she cries to her father, he touches her inappropriately, something that Bobby sees. Disgusted, Sherry runs away and begins using drugs again.
Sherry goes to her recovery group meeting where Dean gets her cleaned up, performing a Native American smudging ritual in the process. He invites her to go see his sons with him in Oklahoma and advises her to let what she wants come to her, rather than force the situation. After work, she finds Hernandez waiting for her in her motel room. She admits to him that she's been using and begs to be placed in an outpatient detox program. He tells her that her only options are an inpatient program or prison, and gives her the weekend to make up her mind. Sherry has lunch with Bobby, who agrees to let her spend time alone with Alexis. They go to a fast food restaurant. Alexis gets scared when Sherry confronts a woman who is verbally abusing her child. Alexis pees her pants. Sherry helps her change but Alexis is still scared of her so Sherry takes her home. Sherry tearfully admits to Bobby that she never really asked him and Lynette to help her raise Alexis. She embraces him and then drives away.