The story finds Vianne six years later, now living and working in a rented chocolate shop, under a new name, in the Montmartre district of Paris. Anouk is now in secondary school, and is having problems integrating. Vianne has a second daughter, Rosette, the child of Roux, who has remained in Lansquenet. Vianne herself has adopted a policy of trying to fit in, and no longer uses her magic, which has always marked her and her daughters as different, and which she feels has been the cause of their itinerant lifestyle. Her landlord, Thierry, is in love with her, and has proposed marriage. Vianne is seriously considering this, even though she and Thierry have nothing in common, because she feels it will give stability to her daughters. Anouk is unhappy and lonely, and six-year-old Rosette is non-verbal, for reasons which are left ambiguous.
The unexpected arrival of a charismatic stranger changes things for the better. Zozie de l’Alba is everything that Vianne once was. She too is a kind of witch, with the ability to alter the way people see her, and the way they see themselves. She bonds with Anouk immediately, and teaches her ways to cope with the bullies at school, and then moves into Vianne’s chocolate shop, first as a lodger, and next as a co-worker.
For some time her influence is benevolent, and extends not just to Vianne and her daughters, but to the whole neighbourhood. Business at the chocolaterie improves, problems among the neighbours are solved, Vianne reconnects with her birth mother, from whom she was stolen as a child, and Anouk makes a young friend, Jean-Loup, a boy at school who has a rare heart condition.
But it soon becomes apparent that Zozie has a more sinister agenda. Her origins are very different to Vianne’s, and beneath her surface charm, she is entirely predatory. Her influence over Anouk grows, and when Roux returns from Lansquenet with his river-boat, she first tries to charm with, without success, then attempts with Thierry to drive him away. As Christmas approaches, Zozie’s agenda becomes clear: she means to steal Vianne’s identity, her life and her daughter Anouk. A battle of wits and magic ensues, during which Vianne manages to defeat Zozie’s influence and reclaim her daughter and her identity.
Realizing that she cannot possibly marry Thierry, she breaks off the relationship, and moves with Anouk and Rosette into Roux’s newly-refurbished boat, which he has transformed into a floating chocolate shop for her use.