La investigación de Scott Galban (Keanu Reeves) sobre el asesinato de su compañero Joey es interrumpida por el departamento de policía. Durante su pesquisa, se descubre que Joey no solo era corrupto, sino también un violador.
Ante esta revelación, la policía decide abandonar por completo la investigación y no buscar recuperar la pensión de Joey que correspondía a su viuda Janine (Mira Sorvino). El departamento es consciente de que cualquier acción en relación a este caso provocaría un escándalo.
De esta manera, la policía da por cerrado el caso y Scott Galban se ve en la necesidad de buscar por su cuenta la verdad detrás del asesinato de su compañero.
Isabel (Ana de Armas) es la responsable de la muerte de Joey. Él la violó en una noche en el metro, lo que resultó en un embarazo que ella consideró un “milagro”. Después de la violación, ella lo apuñaló por la espalda y cayó sobre las vías del tren que se acercaba.
Sin embargo, Isabel comienza a tener alucinaciones que la distraen mientras intenta proteger a una de sus alumnas, Elisa (Venus Ariel), de su padre abusivo. Eventualmente, estos impulsos de protección llevan a Isabel a matar a su propio padre cuando ella cree que él lastimó a Elisa.
Cuando Scott Galban y su nueva pareja llegan a la escena, descubren que Elisa no es real. En realidad, Elisa es una manifestación de Isabel cuando era niña. Isabel había sido abusada por su padre y había bloqueado esos recuerdos. La violación de Joey había hecho que estos recuerdos regresaran a la superficie, lo que finalmente la llevó a matar a su propio padre por el abuso que había sufrido bajo su mandato.