Volver ("To Return") occurs in Spain in 2006. Raimunda (Penélope Cruz), her sister Sole (Lola Dueñas) and Raimunda's 14-year-old daughter Paula (Yohana Cobo) visit their home village of Alcanfor de las Infantas to clean the tombstones of their dead parents, who died in a fire four years earlier. They also visit the home of their aunt, Tía Paula (Chus Lampreave). The aunt is living in the past and knows only Raimunda. They stop by to visit a neighbor, Agustina (Blanca Portillo), who looks after Tía Paula and whose own mother disappeared the day Raimunda's parents died.
The women return to Madrid, where they live. Raimunda's husband, Paco (Antonio de la Torre) attempts to molest Paula, who kills him with a knife. He claimed she was not his daughter. Raimunda later confesses this is true and that Paula's real father is dead. Raimunda must hide the crime and dispose of the body. Opportunity knocks; a neighbor is leaving town and asks Raimunda to look after a nearby empty restaurant.
Tía Paula dies and Raimunda cannot go to Alcanfor de las Infantas because she must hide the body of Paco in a freezer in the restaurant. A film crew is looking for meals and Raimunda opens the restaurant and runs the place with help of her neighbors.
Sole goes to Alcanfor de las Infantas for Tía Paula's funeral. Neighbors claim to have seen the ghost of Irene (Carmen Maura), Raimunda and Sole's mother. Sole finds Irene hidden in the trunk of her car and is unsure if she is a ghost. Irene stays with Sole in Madrid, helping to run a hair salon business inside her apartment. Paula also knows the secret; her grandmother has returned from the dead. The secret is kept from Raimunda, since she hated her mother. Irene hides every time Raimunda visits her sister.
Agustina has cancer and is dying, shows up in Madrid and visits with Raimunda. Agustina asks Raimunda to find out from Irene if she knows if Agustina's missing mother is alive. Raimunda thinks Agustina is crazy.
Raimunda literally buries her past, the freezer containing Paco, by a river near Alcanfor de las Infantas. Raimunda finally is told about her mother's return, but refuses to talk to her. Paula convinces Raimunda to reconcile with Irene.
Irene confesses that Tía Paula told her that Raimunda's father molested Raimunda and Paula is both the daughter and sister of Raimunda. When Irene found out the truth she went to confront her husband and found him in bed, asleep, with Agustina's mother. Irene burned down the hut, killing the pair, and went into hiding. Irene asks for Raimunda's forgiveness for not realizing she was being molested. Raimunda, Irene, Sole and Paula return to Alcanfor de las Infantas, a family once again. Irene is not a ghost, since ghosts can't cry. She will stay to take care of Agustina in her final days, the least she can do for killing Agustina's mother.