En 2002, poco después del 11 de septiembre, Ray Kasten (Ejiofor), un agente antiterrorista del FBI, y su amiga Jessica «Jess» Cobb (Roberts), investigadora para la oficina del fiscal de distrito de Los Ángeles, conozca a la nueva ADA Claire Sloan (Kidman). Jess y Ray reciben una llamada sobre el cuerpo de una mujer desconocida hallado en un contenedor de basura cerca de una mezquita local, que Ray ha estado investigando por posibles vínculos terroristas. En la escena del crimen, ambos quedan devastados al descubrir que la víctima es la hija de Jess de 18 años, Carolyn (Zoe Graham), cuyo cuerpo ha sido blanqueado por dentro y por fuera para destruir las pruebas de ADN de violación y asesinato.
Ray, quien se suponía que debía encontrarse con Carolyn para planear una fiesta sorpresa para Jess, se siente responsable de lo que le sucedió, mientras que Jess siente la creciente necesidad de mudarse fuera de la ciudad. Mientras ayuda a Jess a empacar, Ray nota imágenes de un picnic organizado para las fuerzas del orden en el que se ve a un joven mirando a Carolyn. Ray escanea la foto y la compara con Anzor Marzin (Joe Cole), quien es un informante en la investigación de terrorismo. D.A. Martín Morales (Molina) se muestra reacio a perseguir a Marzín, por temor a que comprometa la investigación del terrorismo. El oficial Reggie Siefert (Kelly) trae a un sospechoso llamado Aban Ghazala (Amir Malaklou), quien Ray se da cuenta de que no es el asesino.
Ray obliga a Siefert a admitir que configuró a Ghazala como un chivo expiatorio para proteger a Marzin. Ray y el detective Bumpy Willis (Norris) rastrean y arrestan a Marzin en el Dodger Stadium. Claire discute con Ray sobre sus métodos mientras aparentemente defiende a Marzin, diciendo que no era capaz del crimen. Claire se burla de Marzin, provocándolo a exponerse y golpearla, diciendo que le dará a Claire lo que Carolyn consiguió. Ray vence a Marzin, lo que lleva a Morales a ordenar la liberación de Marzin. Mientras Marzin se regodea, un Ray enfurecido sugiere que lo maten antes de que él se escape, pero Jess se niega a seguir ese camino, diciendo que la muerte sería demasiado fácil para él. Después de su liberación, la policía encuentra la camioneta de Marzin, pero Siefert la quema para destruir las pruebas contra Marzin.
Trece años después, Ray, ahora jefe de seguridad de los Mets de Nueva York, regresa a Los Ángeles. y se reúne con Claire, ahora DA, mientras que Jess, quien ha sido asocial desde la pérdida de su hija, es la investigadora principal de Claire. Ray ha encontrado a un hombre llamado Clay Beckwith (Cole), que cree que es Marzin que vive bajo un alias. La investigación finalmente conduce a un tiroteo con Beckwith en el que muere Siefert. Beckwith y sus hombres son arrestados, pero Jess insiste en que Beckwith no es Marzin.
Cuando Ray y Claire visitan la granja aislada de Jess, ella confiesa que encontró y mató a Marzin trece años antes, en breve. Después de que Ray se fue de Los Ángeles. Más tarde, Ray sigue a Jess a su granero y descubre que Marzin está vivo, habiendo estado encarcelado en una jaula durante más de una década. Marzin le ruega a Ray que le pida a Jess que hable con él. Ray saca su arma y se lo deja a Jess cuando sale y comienza a cavar una tumba. Ray oye a Jess dispararle a Marzin. Los dos se encuentran con una sensación de alivio mientras Claire cierra oficialmente el caso de Carolyn.