The novel centers around two women, Mariam and Laila, how their lives become intertwined after a series of drastic events, and their subsequent friendship and support for each other in the backdrop of Kabul in the 20th and 21st century. It is split into four parts that focus on individual stories: Part one is about Mariam, part two is on Laila, part three is on the relationship between the two women, and Laila's life with Tariq is in part four. The last section also happens to be the only part written in the present tense.
Mariam lives in a kolba on the outskirts of Herat with her embittered mother. Jalil, her father, is a wealthy businessman who owns a cinema and lives in the town with three wives and nine children.Mariam is his illegitimate daughter,and she is prohibited to live with them, but Jalil visits her every Thursday. On her fifteenth birthday, Mariam wants her father to take her to see Pinocchio at his movie theater, against the pleas of her mother. When he does not show up, she hikes into town and goes to his house. He refuses to see her, and she ends up sleeping on the street. In the morning, Mariam returns home to find that her mother has committed suicide out of fear that her daughter had deserted her. Mariam is then taken to live in her father's house. Jalil arranges for her to be married to Rasheed, a shoemaker from Kabul who is thirty-years her senior. In Kabul, Mariam becomes pregnant seven successive times, but is never able to carry a child to term. This is a sad, disquieting reality for both Rasheed and Mariam. Ultimately Rasheed grows more and more despondent over his wife's inability to have a child and particularly a son. As their marriage wears on Rasheed gradually becomes more and more abusive.
Part Two introduces Laila. She is a girl growing up in Kabul who is close friends with Tariq, a boy living in her neighborhood. They eventually develop a romantic relationship despite being aware of the social boundaries between men and women in Afghan society. War comes to Afghanistan, and Kabul is bombarded by rocket attacks. Tariq's family decides to leave the city, and the emotional farewell between Laila and Tariq culminates with them making love. Laila's family also decides to leave Kabul, but as they are packing a rocket destroys the house, killing her parents and severely injuring Laila. Laila is subsequently taken in by Rasheed and Mariam.
After recovering from her injuries, Laila discovers that she is pregnant with Tariq's child. After being informed that Tariq has died, she agrees to marry Rasheed, a man eager to have a young and attractive second wife in hopes of having a son with her. When Laila gives birth to a daughter, Aziza, Rasheed is displeased and suspicious. This results in him becoming abusive towards Laila. Mariam and Laila eventually become confidants and best friends. They plan to run away from Rasheed and leave Kabul but are caught at the bus station. Rasheed beats them and deprives them of water for several days, almost killing Aziza.
A few years later, Laila gives birth to Zalmai, Rasheed's son. The Taliban has risen to power and imposed harsh rules on the Afghan population, prohibiting women from appearing in public without a male relative. There is a drought, and living conditions in Kabul become poor. Rasheed's workshop burns down, and he is forced to take jobs for which he is ill-suited. He sends Aziza to an orphanage. Laila endures a number of beatings from the Taliban when caught alone on the streets in attempts to visit her daughter.
Then one day Tariq appears outside the house, and he and Laila are reunited. When Rasheed returns home from work, Zalmai tells his father about the visitor. Rasheed starts to savagely beat Laila. He nearly strangles her, but Mariam intervenes and kills Rasheed with a shovel. Afterwards, Mariam confesses to killing Rasheed in order to draw attention away from Laila and Tariq. Mariam is publicly executed allowing Laila and Tariq to leave for Pakistan with Aziza and Zalmai. They spend their days working at a guest house in Murree, a summer retreat.
After the fall of the Taliban, Laila and Tariq return to Afghanistan. They stop in the village where Mariam was raised, and discover a package that Mariam's father left behind for her: a videotape of Pinocchio, a small sack of money, and a letter. Laila reads the letter and discovers that Jalil had regretted sending Mariam away. Laila and Tariq return to Kabul and use the money to fix up the orphanage, where Laila starts working as a teacher. Laila is pregnant with her third child, and if it is a girl, Laila has already named her Mariam.