John Constantine viene contattato dalla detective Angela Dodson che ha bisogno del suo aiuto per dimostrare che la morte di sua sorella gemella Isabel non è stata un suicidio. La donna morta era una devota cattolica e Angela si rifiuta di accettare che si sia tolta la vita. Ha chiesto aiuto a Constantine perché ha la reputazione di avere a che fare con il mistico. Infatti, è un cacciatore di demoni il cui unico scopo sulla Terra è quello di rispedire i demoni nelle regioni dell'inferno. John stesso è stato all'Inferno e sa che è destinato a tornarci dopo la sua morte, ma spera che le sue buone azioni possano fargli trovare un posto in Paradiso. Quando indaga sulla morte di Isabel, si rende conto che i demoni stanno cercando di penetrare nel mondo umano e le sue battaglie lo portano a scontrarsi direttamente con Satana.
Il film è uscito nelle sale cinematografiche degli Stati Uniti il 18 febbraio 2005. Ha incassato 230,9 milioni di dollari in tutto il mondo a fronte di un budget di produzione compreso tra i 70 e i 100 milioni di dollari, ma ha ricevuto un'accoglienza contrastante da parte della critica cinematografica.
Un cercatore d'oro in una chiesa in rovina in Messico trova la punta della Lancia del Destino, che trafisse Gesù. Viene posseduto e inizia a camminare verso Los Angeles.
A Los Angeles, il cinico esperto di occultismo John Constantine, che soffre di un cancro terminale ai polmoni dopo anni di fumo pesante, esegue un esorcismo su una giovane donna filippina. Distrugge il demone, ma non prima che questo tenti di entrare nel piano umano attraverso il suo ospite, cosa che non dovrebbe accadere a causa di un accordo permanente tra Paradiso e Inferno. Constantine visita l'angelo "mezzosangue" Gabriele per chiedere una proroga della sua vita visto il lavoro che sta svolgendo, ma Gabriele risponde che compiere buone azioni per motivi egoistici non gli garantirà un posto in Paradiso.
Altrove, la detective Angela Dodson sta indagando sulla morte di sua sorella gemella, Isabel, che si è gettata dal tetto dell'ospedale psichiatrico in cui era stata nuovamente internata dopo aver avuto delle visioni religiose. Angela si rifiuta di credere che Isabel, una devota cattolica, si sia suicidata, che è un peccato mortale. Crede di aver sentito Isabel pronunciare il nome "Constantine" in alcuni filmati di sicurezza, così, avendo sentito parlare del suo coinvolgimento con l'occulto, chiede la sua assistenza. Lui rifiuta, ma ci ripensa dopo aver respinto i demoni che escono allo scoperto per inseguire Angela. Utilizza un rituale per trovare Isabel all'Inferno, confermando che si è suicidata, e poi racconta a una sconfortata Angela che si è suicidato da adolescente perché la sua capacità di vedere creature soprannaturali gli faceva credere di essere pazzo, quindi, anche se è stato resuscitato, la sua anima, come quella di Isabel, è condannata all'Inferno.
All'obitorio, Padre Hennesy, amico di Constantine, scopre un simbolo sul polso di Isabel, ma viene ucciso dal demone mezzosangue Balthazar. Constantine e Angela scoprono che Hennesy ha inciso il simbolo sulla sua mano per loro e Angela trova un riferimento a un capitolo della Bibbia dell'Inferno nascosto nella stanza d'ospedale di Isabel, fornendo alcuni indizi che l'alleato di Constantine, Beeman, dovrà esaminare. Prima di essere ucciso da uno sciame di insetti, Beeman racconta che il simbolo rappresenta il figlio di Lucifero, Mammona, e il capitolo profetizza che egli, con l'assistenza divina, conquisterà la Terra possedendo un potente sensitivo. Angela si rende conto che Isabel si è suicidata per impedire a Mammon di usarla e si sente in colpa per aver fatto sentire Isabel isolata negando e reprimendo le proprie capacità psichiche. Constantine aiuta Angela a risvegliare i suoi poteri e lei li usa per mostrare a Balthazar l'assassinio di Beeman.
Constantine interroga Balthazar, scoprendo che il sangue di Cristo sulla Lancia è l'assistenza divina di Mammona e che Angela è il suo nuovo ospite designato. In seguito, un'entità invisibile distrugge Balthazar e rapisce Angela; quindi, con l'aiuto dello stregone Papa Midnite, Constantine induce delle visioni e rintraccia la Lancia nell'ospedale psichiatrico.
Insieme a Chas Kramer, il suo apprendista/autista, Constantine assalta l'ospedale e combatte un gruppo di demoni meticci per raggiungere Angela. La donna è già stata posseduta da Mammon, ma Constantine e Chas riescono a calmare il demone prima che una forza invisibile uccida Chas. Constantine smaschera Gabriel che, poiché gli esseri umani trovano il loro "io più nobile" solo di fronte all'orrore, intende scatenare l'inferno sulla Terra in modo che i sopravvissuti siano effettivamente "degni" dell'amore che Dio offre loro. Gabriel mette da parte Constantine e si prepara a trafiggere Angela con la Lancia per liberare Mammona.
Disperato, Constantine si taglia le vene, avendo sentito che Lucifero verrà a prendere la sua anima personalmente, visto il numero di demoni che ha sconfitto. Il tempo si ferma e Constantine racconta a Lucifero del complotto di Gabriele e Mammona. Gabriele tenta senza successo di colpire Lucifero, rivelando che Dio li ha abbandonati, e Lucifero brucia le ali di Gabriele e rimanda Mammona all'Inferno. Lucifero chiede a Constantine se vuole che gli venga prolungata la vita per il suo aiuto ma, invece, chiede che Isabel venga mandata in Paradiso. Lucifero la libera e Constantine inizia a salire in Paradiso per il suo sacrificio altruistico. Infuriato, Lucifero rimuove il cancro di Constantine e lo fa rinascere, credendo che, con più tempo sulla Terra, dimostrerà di appartenere all'Inferno. Constantine prende a pugni l'ormai mortale Gabriel e se ne va con Angela, a cui affida il compito di nascondere la Lancia.
In una scena post-credits, Constantine visita la tomba di Chas e vede Chas tornare in forma angelica e volare via.