Sophie Caco, age twelve, comes home from school in Croix-des-Rosets, Haiti, to the house she shares with her beloved, illiterate aunt Atie. Noting sadness in her aunt, Sophie presents Atie with a handmade Mother's Day card she had been meaning to save. But Atie refuses to take it, insisting that the card belongs to Martine, her sister and Sophie's absent mother.

That night, at the konbit potluck dinner, Atie is forced to reveal that Martine has mailed her a plane ticket and instructions to send Sophie to her mother in New York. The gossips are delighted, but Sophie is devastated.

Preparations for the trip begin. Sophie and Atie make a trip to La Nouvelle Dame Marie, Haiti, to obtain the blessing of Sophie's maternal Grandmè Ifé for Sophie's voyage. That week, Atie works late to buy Sophie a new dress for her trip. On the morning of Sophie's departure, the taxi arrives in the middle of breakfast. Arriving in Port-au-Prince, Sophie and Atie find themselves in the midst of a riot over the airport's name change. Sophie is rushed onto the plane along with a small hysterical boy whose father, a corrupt government official, has just been killed in the demonstration.

Arriving in New York, Sophie is met by Martine, who looks scrawny and tired, unlike the smiling woman in Atie's photographs. Arriving home to a poor neighborhood, Martine tells Sophie that her only chance lies in academic success. Sophie promises to work hard. That night, she wakes to find Martine the midst of a violent nightmare. Sophie wakes her, and Martine thanks Sophie for saving her life.

The next night, Sophie and Martine go to a Haitian restaurant with Marc, an affluent Haitian immigration lawyer who has become Martine's long-term lover. Sophie realizes that she is a relic of her mother's past, and is ashamed that she looks like no one in her family.

In the months before school starts, Sophie spends her days with Martine at her various jobs. Late one night, as Martine is babysitting an invalid old woman, she reveals to Sophie that her own mother used to test for virginity by making sure her hymen was intact. But this testing stopped early, as Martine was raped by a masked man at sixteen on her way home from school, leaving her pregnant with Sophie. The rapist's unseen face is mirrored in Sophie's own.

Six years have passed and Martine's work is paying off, though her nightmares continue. The Cacos have moved to a small house in a neighborhood near Marc, and Sophie is preparing to attend college. In the past six years, Sophie has done little but study, and has known no men. Now, she finds herself attracted to Joseph, the older musician next door. While Martine works night and day, Sophie and Joseph gradually become friends. He is kind, articulate and respectful. Eventually, he asks her to marry him.

Coming home late the next night, Sophie is caught by a furious, frantic Martine, who takes her upstairs and promptly tests her virginity. In the weeks that follow, the testing continues and Sophie begins to feel depressed and isolated. Finally, in desperation, Sophie impales herself her mother's spice pestle, breaking her hymen. She subsequently fails Martine's test, and is thrown out of the house, whereupon she elopes with Joseph to Providence, R.I.

Sophie arrives in La Nouvelle Dame Marie, Haiti, with her infant daughter Brigitte, not having spoken to her mother in two years. She finds Macoutes wandering the marketplace, a desperate Louise trying to raise money to leave Haiti, and an increasingly alcoholic Atie. Nonetheless, the women are delighted with Brigitte, whom they declare has Martine's face.

The reasons for Sophie's trip gradually become evident. She left while Joseph was on tour, driven to desperation by a hatred of her body and a terror of sex. Though Joseph is understanding and kind, she cannot sleep with him without doubling. She blames her phobia on Martine's testing of her, and in turn on Grandmè Ifé's testing of Martine.

Several days into her trip, Louise arrives in tears with the news that the Macoutes have arbitrarily killed a poor coal seller, Dessalines, in the marketplace. Sophie mediates on her mother's rape, probably due to a Macoute, and on the Haitian obsession with female purity.

The next week, Martine arrives in Dame Marie, summoned by Grandmè Ifé for the purpose of reconciliation. She tells Sophie that although they started off wrong, now that Sophie is an adult, she and Martine can begin again. The sympathy between them returns. That night, Atie and Martine reflect on the mess of their lives. Later, Grandmè Ifé, fed up with Louise's influence on Atie, finally buys her pig so that she will have money to leave the country. Louise leaves without telling Atie goodbye.

On the plane home, the stress of being in Haiti leaves Martine physically ill. Sophie spends the night at her mother's house, and the next morning Martine reveals that she is pregnant by Marc. As a result, her nightmares of the rape have been getting worse, and she does not know what to do.

Sophie returns home to Joseph, who is furious at her for leaving, though he loves her very much. In that week, Sophie attends her sexual phobia group and meets with her therapist, Rena, while Joseph tries to help her heal.

As a gesture of goodwill, Martine invites Sophie and Joseph to spend that Saturday with her and Marc. The day is spent eating, laughing, and singing spirituals. When Sophie, Joseph and Brigitte return home, Martine calls to tell Sophie that the baby has begun speaking to her in the rapist's voice, and that she has decided she must have an abortion.

The next day, Sophie returns from therapy to an urgent message from Marc. When she finally gets through, he tells her that Martine has committed suicide by stabbing herself in the stomach with a rusty knife seventeen times. She died in the ambulance after telling Marc that she could not carry the baby.

Sophie and Marc make the trip to Dame Marie for Martine's burial. During the funeral, unable to watch dirt being shoveled over her mother, Sophie runs into the cane fields, the scene of her mother's rape, and begins violently attacking the stalks. She has finally become free.