Guy Burgess attends a performance of Hamlet in a Moscow theatre. Visibly drunk, he starts nodding off. When nudged awake, he leaves the auditorium to go to the toilet, complaining about the lack of soap to the attendant.
Burgess wanders backstage, stumbles into the actress Coral Browne's dressing room, and is promptly sick in her sink. They strike up a conversation, during which he refuses to identify himself, while she assumes that he's from the embassy, as there are few other Englishmen in Moscow. She is summoned to the stage, and he steals her soap.
Leaving the dressing-room, he bumps into the actor playing Claudius, who recognises him, but Burgess does not respond. Claudius approaches Gertrude (Browne) in the wings and says that he's just seen Guy Burgess. But Burgess has already left.
Browne returns to her hotel room, where she and a fellow actor spot a bug hidden in the chandelier and have a somewhat exaggerated discussion in which they lament that despite the splendid achievements of the Soviet Union, they are unable to provide sink plugs.
The next day, a note is pushed under Browne's door. She quizzes the concierge about it, but draws a blank - though is handed a sink plug in compensation. The note is from Burgess, inviting her to lunch and asking her to bring a tape measure.
Unable to work out where Burgess lives, she goes to the British Embassy, where two foppish young men provide background information on Burgess while attempting to dissuade her from visiting him.
Browne asks people in the street for directions, finally bribing a man to take her to Burgess. After a long, snowy trudge to an unprepossessing block of flats, she finds Burgess shaving and reciting Tennyson. Browne identifies her soap, and Burgess apologises for the theft of this and other items. He also apologises for the flat, saying that it's a come-down from Jermyn Street, but by Soviet standards it's considered quite palatial.
The lunch is hopelessly burnt, but they make do with tomatoes, grapefruit and garlic. Burgess presses Browne for gossip about old friends, but is disappointed to find that she doesn't know them. They discuss Burgess' present life, and his (male) partner. Browne erroneously assumes that he's talking about fellow spy Maclean, and Burgess laments that their names are forever intertwined.
Finally, Burgess reveals why he invited her and requested a tape measure - he wants her to measure him for a suit, hat and shoes to be made by his regular people in London. He despises Russian clothes, and hasn't really gone especially native: indeed, he barely speaks the language. He asks her not to tell anybody that she's seen him.
While waiting for a promised telephone call, Burgess plays Jack Buchanan singing 'Who Stole My Heart Away?' - his only record. He asks what the British are saying about him, and is disappointed to learn that he's largely been forgotten. He talks about conformity and the differences between England and "my country" - he loves the former, but cares not a jot for the latter.
Browne agrees to help him, but makes it clear that she is not fooled by his air of rumpled insouciance. She asks him why he betrayed his country, and is told "At the time, I thought it was the right thing to do".
Burgess' partner returns, and the two play an English song on the piano and balalaika. Browne and Burgess go to an Orthodox church service. In the church, she notices that he is weeping. When they part, he wistfully says "I do like it here - don't tell anyone I don't".
Back in London, Browne visits Burgess' tailor and shoemaker and is surprised at their discretion. Browne sends Burgess the clothes, and he responds with a request for pyjamas. But the recommended supplier refuses to co-operate, saying that a line has to be drawn somewhere. Browne berates him for his stuffy Englishness.
In Moscow, Burgess puts on his new clothes and goes out for a walk - there's a new spring in his step. Over the bridge, he unfurls his umbrella, a proper English gentleman amidst a sea of fur hats.