Oskar, a meek 12-year-old boy, resides with his mother Yvonne in the western Stockholm suburb of Blackeberg in 1981 and occasionally visits his father Erik in the countryside. It is not clear why Erik is living apart from Yvonne, but on one such visit, when Oskar and Erik are enjoying a cosy night playing games, a drunken neighbour arrives and Erik starts to drink heavily with him, breaking up the father/son evening.
Oskar's classmates regularly bully him, and he spends his evenings imagining revenge, collecting clippings from newspapers and magazines about grisly murders. One night he meets Eli, who appears to be a pale girl of his age. Eli has recently moved into the next-door apartment with an older man, HÃ¥kan. Eli initially informs Oskar that they cannot be friends. Over time, however, they begin to form a close relationship, with Oskar lending his Rubik's Cube to Eli, and the two exchanging Morse code messages through their adjoining wall. HÃ¥kan requests that Eli stop seeing Oskar. After questioning Oskar about a cut on his cheek, Eli learns that the boy is being bullied by schoolmates and encourages him to stand up for himself. This inspires Oskar to enroll for weight-training classes after school.
Earlier, HÃ¥kan stops and kills a passerby on a busy footpath near a main road to harvest fresh blood for Eli, but he fails to return with any when he is interrupted by an oncoming dog walker. Eli is prompted to waylay and kill a local man, Jocke, making his way home from a bar after having said goodnight to his best friend, Lacke. A local cat-loving recluse, GÃ¶sta, witnesses the attack from his flat, but hardly believes what he has seen and later refuses to report the incident. HÃ¥kan hides Jocke's body in an ice-hole in the local lake. HÃ¥kan later makes another well-prepared but incompetently executed effort to obtain blood for Eli by trapping a teenage boy in a changing room after school. The boy's friends are waiting for him to emerge, and go to see what is holding him up. Before he is discovered, HÃ¥kan pours concentrated hydrochloric acid onto his own face, disfiguring it to prevent the authorities from identifying him and tracing Eli. Eli learns that HÃ¥kan has been taken to the hospital and scales the building to access his restricted room. HÃ¥kan opens the window for Eli and offers his neck to Eli for feeding; after Eli has fed, HÃ¥kan falls out of the window on the snow. Now alone, Eli goes to Oskar's apartment and spends the night with him, during which time they agree to "go steady". While Eli states, "I'm not a girl", Oskar (ambiguously) either ignores this or accepts the nature of the relationship.
During an ice skating field trip at the lake, some of Oskar's fellow students discover Jocke's body. At the same time, Oskar finally stands up to his tormentors and strikes the leader of the bullies, Conny, on the side of the head with a pole, splitting his ear. Some time later, Oskar shows Eli a private place he knows. Unaware that Eli is a vampire, Oskar suggests that they form a blood bond, and cuts his hand, asking Eli to do the same. Eli, thirsting for blood but not wanting to harm Oskar, laps up his spilled blood before running away. Lacke's girlfriend, Virginia, is subsequently attacked by Eli. Lacke turns up in time to interrupt the attack. Virginia survives, but soon discovers that she has become painfully sensitive to sunlight. Seeking Lacke, Virginia visits GÃ¶sta, only to be fiercely attacked by GÃ¶sta's cats. In the hospital, Virginia, who has realized what she has become, asks an orderly to open the blinds in her room. When the sunlight streams in, she bursts into flames.
On realizing Eli's true nature, Oskar confronts Eli, who admits to being a vampire. Oskar is initially upset by Eli's need to kill people for survival. However, Eli insists that their bloodthirsty natures are alike, in that Oskar wants to kill and Eli needs to kill, and encourages Oskar to "be me, for a little while."
Lacke, who has lost everything because of Eli, tracks Eli down to the closed-off apartment. Breaking in, he discovers Eli asleep in the bathtub. Lacke prepares to kill Eli, but Oskar, who was hiding inside the apartment, interferes; Eli immediately wakes up, jumps on Lacke and kills him, feeding on his blood. Eli thanks Oskar and kisses him in gratitude. However, an upstairs neighbor is angrily knocking on the ceiling due to the disturbance the fight has caused. Eli realizes that it is no longer safe to stay and leaves the same night.
The next morning, Oskar receives a phone call from Conny's friend, Martin, who lures Oskar out to resume the after-school fitness program at the local swimming pool. The bullies, led by Conny and his sadistic older brother Jimmy, start a fire to draw Mr Ãvila, the teacher in charge, outside, enter the pool-area and order the other children to clear out, which leaves Oskar trapped alone in the pool. Jimmy forces Oskar under the water, threatening to stab his eye out if he does not hold his breath for three minutes. While Oskar is being held underwater, Eli arrives and rescues Oskar by killing and dismembering the bullies except for the most reluctant of their number, Andreas, who is left sobbing on a bench.
Later, Oskar is traveling on a train with Eli in a box beside him, safe from sunlight. From inside, Eli taps the word "kiss" to Oskar in Morse code, to which he taps back "puss" (small kiss in Swedish).
Who is trapped alone in the pool?
Oskar