Dave Kujan (Chazz Palminteri), un agente especial del servicio de aduanas de Estados Unidos, está investigando las causas del incendio de un barco, en el puerto de San Pedro de Los Ángeles, que provocó 27 víctimas mortales, aunque todas parecen haber sido asesinadas. Su única fuente de información es Roger Kint (Kevin Spacey), un estafador lisiado que sobrevivió al incendio. En comisaría, Kint cuenta que todo comenzó seis semanas antes en Nueva York, cuando cinco delincuentes, cinco "sospechosos habituales", fueron detenidos para una rueda de reconocimiento relacionada con el robo de un camión de armas...