The film begins with a figure running towards a motorway bridge. When the figure turns around, the film introduces the audience to Lilya Michailova, an adolescent girl who has recently been badly beaten. The film then reveals her past.
Lilya lives with her mother in a run-down apartment block in an unnamed former republic of the Soviet Union. Lilya’s mother tells her they are emigrating to the United States with the mother’s new boyfriend, but instead, she abandons Lilya in the care of her aunt while she and the boyfriend move to America. The aunt moves herself into the larger, nicer flat Lilya and her mother had lived in while forcing Lilya to move into a smaller, squalid apartment.
A subsequent succession of humiliations and miseries are heaped upon Lilya. Her best friend encourages her to join her in prostitution, but Lilya declines. When money is discovered in the friend’s possession, she lies and says the money belongs to Lilya, whose reputation is subsequently ruined in the community and at school. This culminates in Lilya being raped by a group of boys she knows. She ultimately has to actually become a prostitute to support herself.
Meanwhile, Lilya forms another close, protective friendship with a younger boy named Volodya, who is physically abused by his alcoholic single father. She buys Volodya a basketball, but his father punctures it with a pair of scissors. She then meets a young man, Andrei, who becomes her boyfriend and convinces her to move to Sweden, where he says they’ll live together. After arriving in Sweden, she is instead met by a pimp who takes her to a nearly empty apartment, where he imprisons and rapes her. Lilya is then forced to perform sexual acts for a large number of clients.
Despondent over the departure of the only person who cared about him, Volodya commits suicide. In the form of an angel, Volodya comes to Lilya to watch over her. On Christmas Day, he transports Lilya to the roof of the apartment building where they lived and, deeply regretting having killed himself, gives her the world as a present. However, a disillusioned Lilya rejects it. After an escape attempt, Lilya is violently beaten by her pimp, but she escapes again successfully. With the story arriving full circle to the scene at the beginning of the film, Lilya jumps from the bridge and commits suicide herself.
The film’s conclusion presents two different endings. One version shows Lilya being sent back in time after killing herself to when she made the decision to go to Sweden with Andrei. However, this time she rejects Andrei’s offer, and she and Volodya are shown to presumably live happier lives. In the final scene, Lilya and Volodya are both angels happily playing basketball on the roof of a tenement building.