Basé sur des faits réels, l'histoire se déroule dans les années 1990 et relate le pire cas d'espionnage de l'histoire des États-Unis. Aldrich Ames (Timothy Hutton) était un agent de la CIA de classe moyenne, dont les problèmes d'alcool et d'incompétence générale l'avaient empêché de gravir les échelons de l'agence. Malgré tout, il dirigeait un effort indispensable pour recruter des agents doubles soviétiques et suivre leurs déplacements.
Confronté à des factures croissantes et à une épouse extravagante qui trouve des moyens de dépenser des sommes importantes, Aldrich se retrouve endetté et cherche une solution. Il prend la décision de vendre quelques noms mineurs aux Soviétiques pour obtenir de l'argent. Bientôt, ils en veulent plus et sont prêts à dépenser des sommes importantes pour obtenir les noms.
Aldrich est tenté par la perspective de disposer enfin de fonds importants. Sa femme Rosario (Elizabeth Peña) est d'abord consternée par ses actions traîtresses, mais finit par apprécier l'argent et les biens qu'il apporte. Trompé en pensant qu'il peut continuer à s'en sortir, il mène un train de vie extravagant qui finit par attirer l'attention des agents d'enquête qui commencent à vérifier les arrestations des agents.