Comme chaque vendredi soir à l'hôpital carcéral Woodward, la brillante psychiatre Miranda Gray
(Halle Berry) s'entretient avec Chloé Sava
(Penélope Cruz), une patiente ayant tué son beau-père violeur qu'elle compare au diable. Empruntant une déviation en rentrant chez elle, elle évite une fille nue
(Kathleen Mackey) au milieu de la route, qui s'enflamme à son approche. Sombrant alors dans un trou noir, Miranda s'éveille trois jours plus tard dans une des cellules vitrées de Woodward. Son collègue Pete Graham
(Robert Downey Jr.), amoureux d'elle, lui apprend qu'elle a sauvagement assassiné son mari Douglas
(Charles S. Dutton), chef de leur service, ce dont elle n'a aucun souvenir. Internée aux côtés de ses ex-patientes psychopathes, elle est atteinte d'hallucinations laissant supposer à une présence fantômatique. Les mots "NOT ALONE"
[pas seul(e)] apparaissent tracés sur la buée d'une vitre, tailladés sur son bras, ou écrits en lettres de sang sur les lieux du meurtre. Son défenseur et ami Teddy Howard
(Dorian Harewood) lui donne peu d'espoir. Se remémorrant la scène en rêve, elle explique à Pete et au docteur Phil Parsons
(Bernard Hill), un de ses supérieurs, avoir effectivement été présente lors du crime, mais pas seule. Elle reconnaît dans le portrait de Rachel, la fille de Parsons qui s'est suicidée quatre ans plus tôt, la jeune femme vue cette nuit-là. La porte de sa cellule se déverrouillant "fantômatiquement", la prisonnière se faufile jusqu'à la cellule d'isolement de Chloé, près d'être violée par un homme dont elle ne voit qu'un tatouage représentant une femme enflammée aux bras levés. Chloé, dont elle croit enfin la version satanique, la prévient qu'elle sera la prochaine. Transférée dans une cellule opaque, Rachel est agressée par le fantôme de Rachel, qu'elle seule voit. Profitant de l'intervention des gardiens, elle s'échappe avec la voiture que lui cède Joe
(Michel Perron), le gardien de l'accueil. Rentrant chez elle, elle (re)voit son double trancher son mari à coups de hache. Cherchant les raisons de son acte, elle se rend dans la ferme désaffectée appartenant à Douglas. Au sous-sol, elle découvre un lit où celui-ci filmait les tortures qu'il infligeait à des filles. L'une d'elles, Tracey Seavers
(Andrea Sheldon), séquestrée depuis deux semaines, y est retrouvée vivante. Rachel, l'une des victimes, possédait Miranda afin de révéler et venger ces crimes. En prison, Miranda explique au shérif Bob Ryan
(John Carroll Lynch), un vieil ami de Douglas, que le meurtrier officiait vraisemblablement avec un disciple. Étant ce complice, ce policier tente de la tuer. Tirant sur le fantôme de Rachel qui a pris l'apparence de Miranda, il provoque une explosion de gaz qui le brûle vif. Un an plus tard, grâce à l'analyste, Chloé retrouvera une vie normale.