Handlingen foregår i en liten landsby i Frankrike. Religionen står sterkt blant innbyggerne i landsbyen, og de lever etter faste former. Vianne Rocher (Juliette Binoche) kommer til landsbyen og åpner en sjokoladebutikk midt i fasten, og hun blir møtt med motstand. Når så det kommer sigøynere til byen, er det klart for forviklinger.