The plot centres on a secret 1968 East-West agreement to halt nuclear proliferation. One of the clauses, the Fourth Protocol, forbids the non-conventional delivery of a nuclear weapon to a target.
MI5 agent John Preston (Michael Caine) breaks into the residence of British government official George Berenson on New Year's Eve and finds a number of top secret NATO files that should not have been there. He reports his findings to high-ranking British Secret Service official Sir Nigel Irvine (Ian Richardson), who deals with the leak. However, Preston's unauthorized action has embarrassed the acting-Director of MI5, Brian Harcourt-Smith (Julian Glover), so as punishment for his insubordination, Preston is relegated to lowly "Airports and Ports".
Meanwhile, KGB agent Major Valeri Petrofsky (Pierce Brosnan) is sent on a mission to England personally by General Govershin (Alan North), the head of the KGB. One of Govershin's subordinates, Borisov (Ned Beatty), complains to his old friend General Karpov (Ray McAnally), about his espionage department being stripped of resources and personnel, particularly his star agent Petrofsky. The surprised Karpov quietly investigates and learns about Petrofsky's unsanctioned mission - to violate the Fourth Protocol by assembling and detonating an atomic device so that it will appear to be a nuclear accident at an American base. It is intended to strain Anglo-American relations and strengthen the anti-nuclear movement in advance of an election.
In Glasgow, a Russian sailor is struck by a truck while fleeing from a port guard. Among the dead man's possessions, Preston finds a disk of polonium, which can only be a component of a detonator for an atomic bomb. He informs Harcourt-Smith, but is promptly suspended, as Harcourt-Smith believes that Preston is manufacturing a fake incident to work his way back into MI5. Luckily however, he has the confidence of Sir Bernard Hemmings (Michael Gough), the gravely-ill Director of MI5. Preston sets to work and eventually comes across Winkler, a known Czech KGB agent, and tails him from the airport.
Meanwhile, Petrofsky meets another KGB agent, Irina Vassilievna (Joanna Cassidy), a bomb expert who pretends to be his wife. Under her guidance, they assemble the device from seemingly-harmless items; She sets it on a two-hour delay per their instructions. Later, unbeknownst to Petrofsky, Vassilievna follows her own orders, resetting the delay to zero. After sleeping with Petrofsky, she finds his own secret order to liquidate her and tries to warn him about the double-cross, but he kills her before she can.
Afterwards, Petrofsky is observed contacting Winkler. The British follow him to Ipswich, lose him, then find him again. Preston eventually realises that Petrofsky's target is RAF Baywater, and locates Petrofsky's house, which lies right next to the base.
When Petrofsky starts to activate the bomb, on an impulse, he checks the timer first and realises he has been betrayed. At that moment, British agents storm the house. After a desperate struggle, Preston subdues Petrofsky. However, much to Preston's outrage, another agent cold-bloodedly kills the spy, explaining afterwards that he had orders to do so.
Hemmings dies. At his funeral, Preston is unsurprised to find Irvine secretly meeting with General Karpov. Preston had become suspicious when known KGB agent Winkler was used as a courier, making it easy to follow him, and also when Petrofsky was killed instead of being captured for questioning. He surmised that discrediting Govershin would benefit the two men he sees before him. However, Preston does not see any point in exposing them and leaves after expressing his contempt for their cynical powerplay.