In an unidentified nation in Eastern Europe lies the Capital City of Tembara, where Sergei Romm is leading a meeting of his factory's union. With the recent revolution in neighbouring Russia, he argues that war is imminent and the chance to improve their working conditions is rapidly closing. While concerns are raised about the affordability of strike action, Mikhail Jung argues in favour of solidarity with the Communists. As Romm responds, his daughter Olga arrives to gives him a letter, at which point he leaves claiming to have a meeting with the factory's owner, Anastasia Pushkin. He takes a bus into a residential part of town, checking over his shoulder as the shadows seem to close in on him. He arrives, unlocks the door, and is surprised to see a shadow moving inside
Meanwhile, Nikolai Eisenstein – a rookie detective for Luthpol Metropolitan Police – is awoken in his spartan apartment. As he prepares for work, he shares with his friendly Landlady Alma Zedov that he has been assigned as lead – indeed, as only officer - on a murder case. However, he hasn't been allowed access to the body, and was only briefed on the victim's name – Sergei Romm. Lacking any leads, he resorts to census data to find Romm's contact details, address and place of work – the Pushkin factory. With a destination set, Eisenstein makes his way there by tram. Upon disembarking, however, Eisenstein finds himself lost in an unfamiliar part of the Capital of Luthpol, bewildered by a completely different set of street-maps for the alien city of Tembara.
Eventually, Eisenstein gets directions to the Pushkin factory, where a small group of workers are picketing outside. Disguised, he meets Mikhail and Olga – who are struggling to warm and feed the picketers – and offers to help. Mikhail tells him about Sergei's disappearance the previous night, his relative affluence, and how that alienated him from the union. Eisenstein notes this rapid timeframe for the case, leaving Mikhail to quietly meet with Pushkin using his authority as a detective. Pushkin is uncooperative, however, and refuses to discuss the case without a warrant – however, she does slip that she has been under pressure to clamp down on the unions by the more militant members of the Senate, particularly the Treasury Minister Alexander Alexandrov.
On the way out, Mikhail attempts to warn Eisenstein that the police are after him, but is unsuccessful. Eisenstein is arrest in front of the assembled crowd – being identified as a detective in the process – and is taken back to Luthpol Constabulary by car. Commissioner Krym berates Eisenstein for both failing to investigate the murder, and for overstepping his jurisdiction by travelling to Tembara. Furthermore, he claims that a prominent witness has come forward - the Minister Alexander Alexandrov – and that a clandestine meeting has been him and Eisenstein for the following morning. Eisenstein – realising the depth of foul play he is now involved in – secretly deduces which morgue the body is being kept at, and makes his way there. Here, he meets with the kindly Dr Doller, who agrees to help Eisenstein. Together, the two evaluate the body, deducing that Sergei was killed while naked, redressed post-mortem, and subsequently beaten – presumably to make it look like a mugging. They also note the abnormally severe frostbite damage to the body, to the point where he was only identified from his effects. Eisenstein takes these, and makes his way home.
Eisenstein returns to his apartment, where his Landlady chastises him for his late return. Planning to investigate Sergei's belongings in the morning, Eisenstien goes to sleep. Unfortunately, he is woken early by a call form Commissioner Krym telling him the meeting has been brought forward due to the forecast for a blizzard that evening. Entrusting the effects to Zedov, Eisenstein makes his way to the meeting at the senate building. He is brought to Alekandrov's office, where Alexander briefly plays along with the interview before dropping the act and telling Eisenstein to stop investigating the case. When Eisenstein questions this, Alekandrov has his guards attack Eisenstein, beating him before Eisenstein escapes. He is then chased through the building by both guards and strange figures made entirely out of shadow, similar to the ones that stalked Sergei. Eisenstein is pursued out the back exit, but escapes in the crowd and leaves stealthily via bus.
After a short ride, Eisenstein disembarks, only to become lost in a thick, dark layer of smog. Several of the living shadows are tracking him, and he narrowly avoids detection with the help of several locals, who are dressed in thick black overcoats. They tell him that he is in the Capital City of Prizgrad, the heart of the Government's – and Aleksandrov's – power, where living shadows lurk that consume men whole. They ask him to save Pushkin before smuggling him onto a passing tram and warning him not to return.
Eisenstein arrives in Tembara, and makes his way to the Pushkin factory, despite his injuries. Once there, he discovers that, following the revelation of Sergei's death, the union has resolved to strike. There is a confrontation at the picket line between Mikhail – the new de-facto head of the union – and Pushkin, who's attempts to placate the strikers are undermined by paranoid accusations of foreign spying, sabotage and communism. Eisenstein is forced to break up a confrontation between the two, with Pushkin leaving. Mikhail, seeing Eisenstein's wound, takes him to his apartment to treat him, where Olga is sleeping. As Mikhail treats Eisenstein, they discuss their work, particularly the poor conditions that young police officers are subjected to in order to bring them into line. Mikhail is surprised by this, and offers his solidarity to Eisenstein: particularly, he shares the open secret that Sergei Romm was trying to seduce Pushkin, and that most of the union suspects that Anastasia used this to lure him into a trap and murder him.
Eisenstein makes his goodbyes and takes the tram back to his apartment in Luthol, where he reconvenes with his Landlady. She has kept Sergei's belongings safe, despite an inquiry by the police. She returns them, but tells Eisenstein that she will be evicting him at the end of the month. Eisenstein takes this with good grace and leaves to examine the belongings. He finds the note that Olga delivered to him, which specifies an address in Luthol. He sleeps for the night as the blizzard approaches.
The following morning, the blizzard begins to abate, and Eisenstein makes his way to the specified address despite the heavy snows overnight. He sneaks in and discovers the murder scene virtually undisturbed. He decides that he has sufficient evidence to pursue warrants against Pushkin, and is about to leave when he notices a clock damaged by the incident, and realises that he was assigned the murder investigation before the murder took place. Before he has time to contemplate this, he notices several living shadows outside, and makes a sneaky escape. With options running out, he makes a run for the Constabulary, where he heads for his desk. He furiously assembles his notes for the case, and leaves them on the desk of a junior officer when Commissioner Krym arrives accompanied by living shadows. The Commissioner makes one final speech to Eisenstein about how he should have just let the case go cold and be buried – showing little understanding of Eisenstein's character. He attempts to feed Eisenstein to the shadows, but he tricks them by abandoning his overcoat.
When Eisenstein leaves the Constabulary, however, he finds himself back in Prizgrad. It begins to snow, and Eisenstien is called to a brazier by the same civilians who saved by earlier. They once again protect him from patrolling shadows by disguising him with one of their overcoats, which adheres to Eisenstein. One of them hand him a charred book, telling him that he should read it now that he has joined them. An exhausted Eisenstein asks him what he means, and realises to his horror that his new overcoat is growing and spreading across his body. As he panics, he is told cryptically that the case is over now, and that all that happens now is on his conscience. Eisenstein tries to talk back, but is swallowed by the growing shadow.
When Eisenstein awakens, the blizzard has begun in earnest, leaving the streets unrecognisable. He stumbles through the snow to find shelter, only to discover that he has fallen into another city called Morozsk. He hears laughter on the wind, and tries in vain to find any signs of life, instead being driven back by driving snow and thick ice at every turn. The blizzard momentarily abates, and Eisenstein reaches the dreadful realisation that the Frost that has been impeding his investigation is alive, and is trying to end him. He begins to break down, crying for mercy and begging to be saved, but the only answer is the laughing wind. As he collapses from the cold, his overcoat begins to spread over him like a flame, and he whites out.
Eisenstein comes to at Mikhail's apartment in Tembara, where he is being tended to. Mikhail informs him that Pushkin has been found dead – her remains recovered from her town-house after a fire – and that Aleksandrov has seized control of the factory. Moreover, he sent strikebreakers after the union, with many of them either badly injured of frightened back into line. Eisenstein tells him about the case being forcibly shut down, and the two men try to console each other, only to grow increasingly passionate. They strip – with Mikhail removing the overcoat of shadow to reveal burns underneath – and have sex with each other.
Early the following morning, Eisenstein reads Pushkin's journal, and is surprised by what he finds. Not long afterwards, Mikhail awakens alone. Despite the white-out snow, he can't find Eisenstein – although he does see the overcoat burning in the fireplace, keeping a sleeping Olga warm. Eisenstein has also left Mikhail his police badge and personal lighter. The films ends with Eisenstein narrating a love poem Pushkin wrote for Romm, while he walks out into the snow.