In un piccolo villaggio francese, tutto chiesa e buone maniere, arriva la bella Vianne (Juliette Binoche) a portare una ventata di freschezza. Con la piccola figlia apre un negozio di dolciumi e rompe il muro di diffidenza degli abitanti del paesino. L'arrivo di una barca di zingari, capitanata dal tenebroso Roux (Johnny Depp) aggiungerà ulteriore scompiglio alla quotidianità degli abitanti del villaggio.