Los angeles. Castor Troy (Nicolas Cage), est un terroriste très dangereux. Il assassine par accident le fils Sean Archer (John Travolta) un agent du FBI chargé de l'arrêter. Ce dernier devient alors son pire ennemi. A la suite d'une poursuite éffrénée sur une piste d'aréoport, Archer neutralise Castor, qui finit dans le coma. Sean croit être définitivement débarassé de son ennemi. Mais le FBI découvre une malette appartenant au frère de Castor, Pollux Troy, dans laquellese trouve les plans d'une bombe très puissante et très dangereuse. Le seul moyen de pouvoir la neutraliser est de faire parler Pollux. Mais celui ci refuse de coopérer. Archer doit pour obtenir les informations échanger son visage avec celui de Castor, grace à une intervention chirurgicale spectaculaire, aller rejoindre Pollux en taule et le faire parler. Seul un très petit nombre de personnes sont au courant de l'opération. Archer parvient à savoir où se trouve la bombe, mais Castor sort du coma, prend le vsage d'Archer, et massacre les personnes au courant de ce changement d'apparence...