Akcja filmu rozgrywa się w latach 80. XX wieku w irańskiej wsi Kupayeh. Soraya Manutchehri (Mozhan Marnò) jest żoną Alego (Navid Negahban), matką czwórki jego dzieci. Jej mąż jest człowiekiem porywczym i brutalnym, bezwzględnie wykorzystującym swoją uprzywilejowaną pozycję mężczyzny - głowy rodziny. Ali zamierza pojąć za żonę czternastoletnią dziewczynę, ale zdaje sobie sprawę, że nie byłby w stanie utrzymać dwóch żon - oznajmia więc Sorayi, że postanowił się z nią rozwieść. Kobieta, w strachu, że po rozwodzie nie będzie w stanie utrzymać siebie i dzieci, podejmuje się pracy na służbie u owdowiałego Hashema (Parviz Sayyad). Ali dostrzega w tej sytuacji okazję do pozbycia się żony raz na zawsze. Przy wsparciu lokalnych oficjeli - burmistrza Ebrahima (David Diaan) i Mułły Hassana (Ali Pourtash), publicznie oskarża żonę o cudzołożenie z pracodawcą i domaga się jej ukamienowania. Historię Sorayi przedstawia jej ciotka Zahra (Shohreh Aghdashloo). Opowiada ją przebywającemu chwilowo w mieście francuskiemu dziennikarzowi (Jim Caviezel). Liczy na to, że opisze on tragiczne losy Sorayi, dzięki czemu świat pozna prawdę o wydarzeniach w Kupayeh.