根據(jù)中國古典名著《聊齋志異》改編。秦漢年間,都尉王生(陳坤 飾)率王家軍在西域苦戰(zhàn),并救回一女子小唯(周迅 飾)。王生并沒有看到在他到來之前,小唯剛剛吞食完人心以保持人形。九霄美狐小唯對王生一見鐘情,跟隨他回家后以妹妹自居,眼看王生與佩容(趙薇 飾)夫妻情深,暗地里想取代佩容地位成為王生妻子。深愛著小唯且一直為她殺人取心的蜥蜴精小易幾度向小唯表白,卻被小唯怒吼而走。城里越來越多的人死于心臟被挖,王生誓要查個水落石出,佩容已經(jīng)覺得小唯異于常人且對丈夫有意。礙于王生對小唯的一片信任,她唯有去尋求當(dāng)年負氣出走的舊情人龐勇(甄子丹 飾)幫忙,而降魔者夏冰出于天命亦自告奮勇去除妖。佩容所作一切但求王生安好,王生心痛佩容不相信自己,小唯委曲求全希冀得到愛情,龐勇和夏冰已蓄勢待發(fā)。