Marjane Satrapi (Gabrielle Lopes) é uma garota iraniana de 8 anos, que sonha em se tornar uma profetisa para poder salvar o mundo. Querida pelos pais e adorada pela avó, Marjane acompanha os acontecimentos que levam à queda do xá em seu país, juntamente com seu regime brutal. Tem início a nova República Islâmica, que controla como as pessoas devem se vestir e agir. Isto faz com que Marjane seja obrigada a usar véu, o que a incentiva a se tornar uma revolucionária.
Maria (Keisha Castle-Hughes) é uma jovem camponesa que mora na cidade de Nazaré. Um dia ela recebe a visita do anjo Gabriel (Alexander Siddig), que anuncia que Deus a escolheu para ser mãe de seu filho. Casada com o carpinteiro José (Oscar Isaac), Maria segue os conselhos do anjo e viaja para a casa de Zacarias (Stanley Townsend) e Isabel, seus parentes, para escapar dos guardas do rei Herodes (Ciarán Hinds). Ao retornar a Nazaré, já com a gravidez avançada, Maria é rejeitada por sua família e por José. Porém, após ter um sonho com o anjo Gabriel, José aceita a situação da esposa. Obrigados a viajar devido ao censo, José e Maria partem para Belém. Eles enfrentam o risco de serem descobertos pelos guardas de Herodes e ainda são procurados pelos 3 reis magos, que buscam nos céus indícios do local de nascimento de Jesus Cristo.
Nos bastidores da aristocracia francesa, segredos, intrigas e traições cercam o casamento entre um jovem libertino, Ryno de Marigny, e a honesta Hermangarde, garota de classe e refinamento. Apesar do verdadeiro amor entre os dois, a corte considera improvável que Ryno de Marigny conseguirá romper seu longo envolvimento passional com Vellini.