En 1957, au plus fort de la guerre froide, James Donovan, avocat de Brooklyn, se fait offrir par le gouvernement américain d'assurer la défense de Rudolf Abel, un espion soviétique d'origine anglaise, qu'on vient d'arrêter à New York. Après quelques hésitations, Donovan accepte d'aider cet homme qu'il sait condamné d'avance, et auquel il offre une défense passionnée durant un procès largement symbolique. Lorsque son client est reconnu coupable, Donovan lui évite la peine de mort en prétextant habilement qu'il pourrait être utile pour un éventuel échange d'espions. De fait, quelque temps plus tard, l'avocat se rend à Berlin - où la construction du mur visant à séparer l'est et l'ouest de la ville bat son plein -, dans le but d'échanger Abel contre Francis Gary Powers, un pilote américain capturé en URSS et accusé d'espionnage.