It's sometime in the 1950s and in the tranquil French village of Lansquenet, everyone knows what's expected of them, and if they forget, Comte de Reynaud (ALFRED MOLINA), the town's mayor and moral bastion, is there to remind them. With Lent just beginning and a new priest, Pere Henri (HUGH O'CONOR), have only just recently arrived at the local church everyone attends, Reynaud has his hands full leading the town by example and writing Henri's sermons.
Thus, when the north winds blow Vianne Rocher (JULIETTE BINOCHE) and her daughter, Anouk (VICTOIRE THIVISOL), into town, Reynaud isn't particularly happy. For not only does the single mother not attend church, but she's also planning on opening a chocolaterie and living above it in a space leased from the village's frumpy, 70-year-old libertine, Armande Voizin (JUDI DENCH).
Soon, Reynaud is on a personal crusade to shut down Vianne's shop on the moral grounds that its decadent pleasures will corrupt the villagers. Among them is Caroline Clairmont (CARRIE-ANNE MOSS), Armande's estranged daughter who won't let her son, Luc (AURELIEN PARENT KOENIG), see his grandmother.
Nevertheless, Vianne makes friends with various villagers including Luc, as well as Josephine Muscat (LENA OLIN), the abused wife of café owner, Serge (PETER STORMARE), and Guillaume Blerot (JOHN WOOD), whose dog likes Vianne's treats while he's interested in one of the town's widows, Madame Audel (LESLIE CARON).
When a traveling band of Irish gypsies, led by Roux (JOHNNY DEPP), arrive by river, Vianne discovers a kindred spirit while Reynaud, whose wife is on an extended vacation abroad, becomes more agitated by what he sees as yet another immoral outsider attempting to corrupt his people. As Vianne takes in Josephine after Serge beats her one too many times, and becomes romantically interested in Roux, she does what she can to divert Reynaud's efforts to drive her out of the village, while her irresistible confections awaken the villagers' hidden appetites and longings.