Henri, born in a French village to a religious mother and a farmer father, joins the army of Napoleon Bonaparte, where he is assigned to strangle chickens for Napoleon’s dinner. In 1804, while Napoleon’s army is at Boulogne preparing to invade England, the army cook gets dead drunk while Henri is preparing chickens. An officer rushes in, tells Henri that Napoleon is about to inspect the kitchen tent, and orders Henri to hide the cook. Henri and his friend Domino, Napoleon’s groom, are levering the unconscious cook upright when Napoleon enters. Napoleon, impressed by Henri, promotes him, and Henri becomes Napoleon’s assistant, bringing him chicken directly. Meanwhile, the army camp spreads wild stories about how Henri and Domino—who are both much smaller than the cook—maneuvered the cook, until the humiliated cook swears vengeance on Henri.
In July 1804, the army loses 2,000 men to drowning while practicing for the English invasion in a storm. Henri watches the disaster from a lookout pillar with his friend Patrick, a defrocked Irish priest with exceptionally good eyesight in one eye. In retrospect, Henri thinks that the army should have stopped hero-worshipping Napoleon after the disaster—but they don’t. In August 1804, Napoleon announces that he will crown himself emperor and gives Henri leave to visit his family. Henri visits his family and then travels to Paris to attend Napoleon. Shortly before the coronation, Napoleon abruptly sends Henri away to continue his military training in the army camp. On New Year’s Eve, Henri attends mass with Patrick, though he isn’t religious himself.
Meanwhile, a girl named Villanelle is born during a solar eclipse in Venice, Italy in the late 18th century. Villanelle’s boatman father disappeared before her birth. While pregnant with Villanelle, Villanelle’s mother remarried a sensible baker. Villanelle is born with webbed feet, which all Venetian boatmen are rumored to have. In 1797, Napoleon conquers Venice, and the French occupy the city. When Villanelle is 18, she begins working for Venice’s Casino dressed as a young man. In August 1804, Venice holds an outdoor ball to celebrate Napoleon’s birthday, and Villanelle works one of the Casino’s booths at the ball. One of Villanelle’s Casino regulars, a large man interested in Villanelle sexually, makes a brief appearance. Then a woman with gray-green eyes appears, wins at cards in Villanelle’s booth, and vanishes. After working a while longer, Villanelle goes in search of the woman but can’t find her. When she returns to her booth, the friend covering for her says a woman stopped by and left an earring for Villanelle.
For several weeks, Villanelle obsesses over the woman with gray-green eyes. Meanwhile, the large man realizes that Villanelle is female and proposes marriage to her, offering to take her all over Europe in style so long as she continues to dress like a young man at home. Villanelle asks how he became rich, and he explains that he supplies low-quality meat to Napoleon’s army. When Villanelle refuses his offer of marriage, he threatens her, sexually assaults her, and walks off.
In November 1804, Villanelle encounters the woman with gray-green eyes in a restaurant while dressed as a young man. The woman invites Villanelle to dinner at her respectable, six-floor house. At dinner, the woman explains that she is married to an antiques merchant who travels frequently. After kissing the woman, Villanelle leaves. Awhile later, Villanelle visits the woman again. The woman tells her that her husband is returning soon. She doesn’t know when she and Villanelle will see each other again. Villanelle lifts her shirt and announces that she is female. The woman says that she knows. Villanelle ends up spending the night with her. On New Year’s Eve, Villanelle travels to the woman’s house and watches her spending a calm, affectionate night with her husband—a sight that terrifies her. Soon the clocks strike New Year’s Day, 1805.
In 1812, Henri participates in Napoleon’s march on Moscow through the Russian winter. As he witnesses French soldiers starve or freeze to death, he becomes disillusioned with Napoleon and decides to desert the army. When he asks Domino, gravely wounded, to desert with him, Domino refuses. Later, he finds Patrick in the kitchen tent with one of the army’s sex workers. When he asks Patrick to desert with him, both Patrick and the sex worker decide to come along. After a week’s travel, the deserters hide in an abandoned Russian army site and build a fire. Patrick and Henri take off their boots—but the sex worker does not, explaining that her father was a boatman, and boatmen do not remove their boots—a detail that reveals her to be Villanelle.
Villanelle tells Henri and Patrick how she ended up a sex worker for the French army. She gambled away her heart to a married woman. Attempting to escape this passion, she married a large man who liked her to dress as a boy and went on a honeymoon across Europe. After two years of marriage, she stole her husband’s money and abandoned him. After working in various countries and learning many languages, she returned to Venice hoping to retrieve her heart—but her furious, jilted husband found her. One of her husband’s friends suggested a wager. Villanelle and her husband would play cards. If Villanelle won, her husband would leave her alone. If her husband won, he could do anything he liked to Villanelle short of killing her. Her husband won and sold Villanelle as a sex worker to French army officers. Henri, who has quickly fallen in love with Villanelle, is devastated to learn that someone else has her heart. Yet as the deserters head for Venice, Villanelle initiates a sexual relationship with Henri. Meanwhile, Patrick, weak and feverish, dies.
In May 1813, Henri and Villanelle reach Venice. Villanelle’s mother and stepfather welcome them, assuring Henri that they don’t believe all French people are awful like Napoleon—or like Villanelle’s husband. One day, Villanelle takes Henri on a boating journey to meet a mysterious homeless person, the woman with slimed-green hair, who warns Henri to “beware of old enemies in new disguises.” Afterward, Villanelle asks Henri to steal her heart back—explaining that the woman with gray-green eyes has hidden Villanelle’s literal heart somewhere in her house. She puts Henri’s hand on her chest, and he realizes she has no heartbeat. Later, under cover of darkness, Villanelle sails Henri to the house. Henri breaks in and finds a jar with something beating inside it. He steals the jar and leaves. After he and Villanelle flee the scene, Villanelle opens the jar. Afterward, she puts Henri’s hand on her chest—and he feels that she has a heartbeat. The next day, Henri asks Villanelle to marry him. She refuses.
While Henri is staying with Villanelle’s family and trying to decide what to do next, Villanelle takes him to the Casino—where her husband corners her against a wall. Henri and Villanelle escape and boat away. Yet Villanelle’s husband pursues them by boat and corners them near a garbage tunnel—at which point Henri recognizes Villanelle’s husband as the drunk army cook who swore vengeance on him. The cook, recognizing Henri in turn, explains that after Henri humiliated him, he was sent back to Paris to work in food requisitions for Napoleon’s army and was able to enrich himself. He threatens to report Henri for deserting and to sell Villanelle back into sexual servitude. When he grabs Villanelle, she shoves him, and he falls on top of Henri. Villanelle tosses Henri a knife, and Henri stabs the cook to death. Afterward, Henri cuts out the cook’s heart.
Though Villanelle hides the cook’s body and gets Henri back to her family home, the authorities come for them five days later. The cook’s lawyer offers Henri his freedom in exchange for signing a confession stating that Villanelle killed the cook. Instead, Henri takes full responsibility for murdering the cook and gives specific details about how he removed the cook’s heart. Henri is found insane and sentenced to life imprisonment at the Venetian asylum San Servelo.
Villanelle, having inherited her husband’s wealth, plans to spring Henri from San Servelo. Meanwhile, she rents a house directly across from the house of the woman with gray-green eyes. One day, the woman spies Villanelle on her balcony and invites her to dinner. At dinner that evening, the woman explains that her antique-obsessed husband has gone in search of the Holy Grail and may never return. She asks whether Villanelle will stay the night. Villanelle concludes that she’ll lose her heart again if she stays—and decides to leave. The next day, she moves out of her rental house and never goes back.
Villanelle has been visiting Henri during his imprisonment, and they have continued their sexual relationship. Henri has been hearing dead people’s voices and hallucinating the cook strangling him, though Villanelle tells him to ignore the voices. One day, she informs him that she is pregnant and that she has plans to help him escape. When he suggests that they can marry after he escapes, she tells him she’ll never marry again—and that he needs to flee to France. She’ll take their child to visit him once the coast is clear. After this conversation, they begin having sex. Henri announces that he is Villanelle’s husband and puts his hands on her throat. She shoves him away. He begins crying. He refuses to escape when she comes to help him free and stops accepting her visits—though when she boats across the lagoon, he sometimes waves to her.
Villanelle has had a daughter and predicts that one day she will gamble her heart again, though she was never able to return Henri’s passion. Meanwhile, Henri still loves Villanelle but has decided to stay in San Servelo and cultivate its neglected garden.