印尼是世界上排名第四的人口大国,也是最大的穆斯林国家。祖母Rumidjah是一位虔诚的基督徒。她离开了喧嚣的雅加达,和朋友Tumisa一起生活在乡下。她的儿子,改信了伊斯兰教Bakti,在雅加达带着女儿Tari生活。带孩子太难了,所以Bakti又把母亲请回了城里。
然而,在Tari成长的时代,年轻人比从前开放得多了,所以她也从不讳言自己的想法。她的口快直言经常引起和长辈们的冲突。这个卡塔尔家庭面临的问题使得老妇人Rumidjah决定留下来,直到Tari中学毕业并升上大学。全家都把聪慧的Tari视为他们提高社会地位、逃离雅加达贫民窟的唯一机会。Bakti是一名区长,但挣不了多少钱。所以他不得不训练斗鱼并靠赌鱼贴补家用。
全家人绞尽脑汁地给Tari凑上大学的学费,可Tari却喜欢和女伴儿们到雅加达的夜店消磨时间挥霍金钱。中学同学还介绍她认识了印尼的暴发户,这和她贫民窟的生活相差十万八千里。在这场经济危机中,Rumidjah能让她的孙女继续学业吗?。妖狐小唯(周迅 饰)因救人违反妖界规则,被封冻在寒冰地狱中度过了五百年,痛苦不堪。在命运面前,逃离冰窟的小唯只有两个选择:要么被寒冰地狱的冰舌抓回去,要么获得一颗“主动奉献”的人心真正成人。小唯四处寻找目标,直到偶遇逃婚并因一次意外被毁容的靖公主(赵薇 饰)。小唯很快发现,公主有一颗与众不同的心,她把变成人的理想全部寄托在公主身上。
公主现身白城让曾经青梅竹马又极负罪恶感的霍心(陈坤 饰)惊讶不已。面对公主,他无法接受公主逃婚并准备和自己私奔的突如其来的现实。小唯发现靖公主与霍心微妙的心理状态,她的计划顺应诞生。她向靖公主灌输男人对女人的爱只不过是色欲之爱,以此暗示公主相貌的丑陋是霍心不敢接受公主爱情的唯一原因,并不惜用妖法迷惑霍心,当公主披着小唯的皮诱惑霍心,并初次体验到了肉体的欢娱时,她开始相信小唯所说的美丽的力量。
此时,天狼国步步逼近意欲抢婚,霍心试图只身抵抗以死赎爱。关键时刻却又反被靖公主营救,这一切极大的刺激了霍心。他明白了什么是爱,以爱的名义在一起,哪怕是死在一起,这才是爱的真谛。
死亡的诀别戏剧性地改变了两个女人的人生态度,小唯与公主的关系从引诱、胁迫转至合谋,霍心则在得知了二人换心换皮的真相后刺瞎双眼,更试图用自己的心换回公主的心。公主为爱而死的决心,霍心为真心而战的勇气,小唯为改变命运而竭尽全力的努力,在日食之刻最终产生奇迹……。