Joe Wormold, un vendeur d'aspirateurs anglais, vit à La Havane de la fin des années 1950 avec sa fille Milly, en pleine guerre froide. Wormold va faire la rencontre d'un agent des services secrets anglais, M. Hawthorne, qui lui propose de servir son pays en étant agent secret. Wormold n'y connaît rien en espionnage et dans un premier temps refuse l'offre de Hawthorne. Mais le Dr Hasselbacher, son seul ami sur l'île, va le faire changer d’avis. Il lui explique qu'il pourrait bien mentir aux agents anglais en leur transmettant des informations erronées. Ainsi il peut récolter les primes de risques ainsi que les salaires de son équipe factice. Grâce à cela il peut subvenir aux besoins de sa fille, qui sont, à son grand regret, très importants.
Selon Hollywood Reporter, la décision de tourner à La Havane est prise en . En , Fulgencio Batista est renversé, en février Fidel Castro est nommé Premier ministre du nouveau gouvernement. Un article du New York Times d' note que le script a dû être soumis à l'approbation du Ministère de l'Intérieur, qui demanda 39 changements, mais aussi que le fait que l'action se passe avant la révolution permettait d'éviter les critiques sur le nouveau régime[1].