In modern-day Russia, Dominika Egorova is a famed Russian ballerina who supports her ill mother. Following a career-ending injury, Dominika is approached by her uncle, Ivan, the Deputy Director of SVR. She is tasked with seducing Dimitry Ustinov, a Russian gangster, in exchange for her mother's continued medical care. As Ustinov rapes her, he is killed by Sergei Matorin, an SVR operative authorized by Ivan. Ivan offers Dominika a choice to begin working for the SVR, or be executed so there are no witnesses to Ustinov's death.
Nate Nash is a CIA operative working in Moscow. While meeting with an asset in Gorky Park, they are confronted by the police. Nash creates a diversion to ensure his asset, a mole in Russian ranks code-named Marble, escapes unidentified. Nash is reassigned back to the U.S. but insists that he is the only individual whom Marble will work with. Since he cannot return to Russia, he is assigned to Budapest, where he will regain contact with Marble.
Dominika is sent to State School 4, a specialist training schools for 'Sparrows', SVR operatives capable of seducing their targets with sexpionage. Dominika excels in her training, despite some friction with her trainers, and she is assigned to Budapest. Meanwhile, the SVR has been tracking Nash, and hopes to find out the identity of Marble. Dominika's assignment is to gain the trust of Nash, and reveal his contact.
Upon her arrival in Budapest, Dominika lives with Marta Yelenova, another Sparrow. Her boss in Budapest is Maxim Volontov. Dominika quickly makes contact with Nash, who correctly determines that she is a Russian intelligence operative. Dominika reveals her true identity to him, as well as her motive to find out Marble's identity. Dominika inspects Marta's room, and realizes that she is working to gather information from Stephanie Boucher, the chief of staff to a U.S. Senator. Dominika claims to her uncle that she is helping in Marta's effort to gather information from Boucher.
Dominika offers to work for Nash as a double agent. After Marta is killed, Dominika carries out Marta's assignment to meet Boucher, and covertly exchanges the supplied information for CIA-supplied floppy disks. On leaving the meeting place, Boucher sees American agents and is spooked. She unintentionally steps into traffic and is killed. Russian agents observing Boucher realize that the mission had been compromised. Dominika and Volontov are required to immediately return to Moscow. She is tortured and interrogated for days. Dominika returns to Budapest, and informs Nash that she wishes to defect with her mother to America.
After spending the night with Nash, Dominika awakes to find him being tortured by Matorin, who is attempting to discover the identity of Marble. She initially helps Matorin torture Nash, but turns on the executioner and kills him. She wakes in a hospital where General Vladimir Korchnoi reveals that he is Marble. He explains that he was initially patriotic, but grew to feel that Russia was corrupt. He fears he will be caught soon, and instead of dying in vain, instructs Dominika to reveal his identity to Ivan. She could then replace him as a mole and further their work by passing information to the CIA. But when Dominika contacts her superiors to reveal the identity of the mole, she frames her uncle Ivan rather than betray Korchnoi. Ivan is killed by the Russian side during a spy swap, and Dominika is congratulated for her work by her Russian superiors.
Back home in Russia, Dominika lives with her mother, and receives a phone call from an unknown person who plays Grieg's piano concerto, which Nash had used previously as a signal to her.
. . .