約翰·布雷斯(尼古拉斯·凱奇 Nicolas Cage 飾)被正義天使拉薩羅斯附體,但天使暴躁乖戾,遇到壞人就要吸取他們的靈魂。
莫羅(伊德瑞斯·艾爾巴 Idris Elba 飾)請求布雷斯把小孩丹尼帶來神殿以避免惡魔奪取他的靈魂,作為回報他將驅除布雷斯身上的詛咒。丹尼是魔鬼羅爾科的兒子,羅爾科為了把自己的魔力植入兒子體內正派卡裏跟追蹤逃跑途中的母子兩人。正當母子倆被困在采石場的時候,布雷斯到來,他體內的天使爆發了出來,壓制住了卡裏根。他變成了惡靈騎士,毫不手軟的把對手撕成碎片。當戰爭結束時,三人前往神殿,同時,羅爾科也救醒了死亡邊緣的卡裏根,並賦予他更可怕的摧毀力,讓他再去把丹尼找回來。
在神殿裏,莫羅履行協議把布雷斯體內的紮薩羅斯驅趕了出來。但正當他做法時,神殿的牧師試圖殺死丹尼——他認為丹尼就是惡魔。還沒等他們行動,卡裏根就到了。把丹尼帶去見了羅爾科。羅爾科逼迫丹尼參與一個儀式,想使他變成一個徹頭徹尾的惡魔。