New Zealand, 1952. Fourteen-year-old Pauline Rieper (Melanie Lynskey) is a student at a strict all-girls high school in Christchurch, South Island, New Zealand. She resides with her working-class parents, Herbert and Honora (Simon O'Connor and Sarah Peirse), whose home doubles as a boarding house. Introverted Pauline sleeps in a small furnished hut in the yard.
Pauline's life changes dramatically when she befriends wealthy British transfer student Juliet Hulme (Kate Winslet), the daughter of a respected physicist. Pauline's quiet nature is countered by Juliet's charisma and outspokenness, and the girls quickly become inseparable. Juliet is unafraid of authority, impressing Pauline by fearlessly correcting their French teacher during class and by ignoring their art teacher's instructions altogether.
They are also the only two girls in their class forbidden from taking part in gym activities, due to childhood battles with bone disease, on Pauline's part, and lung disease on Juliet's. They spend this class period bonding over their passions for music, art, film, and literature. They share a particular fondness for the music of popular tenor Mario Lanza, and for the actor James Mason.
Pauline is invited to visit Juliet at the Hulme home, a stately mansion on a sprawling property of woods and creeks. Juliet and her younger brother Jonathan (Ben Skjellerup) often dress up and play fantasy games in the fairy tale-like setting. Pauline is awed by the lifestyle of the Hulmes, but becomes a regular visitor as her friendship with Juliet grows. Juliet occasionally visits Pauline at her parents' house, but Honora is nervous and uncomfortable with Juliet's large personality, while Pauline is embarrassed by her father's questions and silly comments.
Juliet and Pauline create a fantasy kingdom called Borovina, about which they write stories, create models of the characters, and eventually interact with each other as the invented king and queen, Charles (Pauline) and Deborah (Juliet). They also elaborate on Juliet's theory of the afterlife, "the Fourth World," where they believe their favorite film stars and musicians will be saints. The girls hope to one day become famous actresses in America, and to have their stories about Borovina published.
Pauline spends extensive time at the Hulme house with Juliet and her parents, Henry and Hilda (Clive Merrison and Diana Kent), and Juliet's younger brother Jonathan (Ben Skjellerup), even joining them on vacations. During this time, Pauline sees the dysfunction that exists within the Hulme family. Juliet has a deep abandonment issues, stemming from her childhood when her parents left her in the Bahamas for five years to recover from a bout of illness. When Dr. and Mrs. Hulme mention they are planning a trip to London together, Juliet becomes very upset and channels her resentment into her relationship with Pauline, continuing to construct an alternate reality of bliss and hopefulness that becomes more and more real to both girls.
Shortly before her parents' departure, Juliet contracts tuberculosis and is sent to a clinic for four months. At the beginning of her stay, her parents (somewhat reluctantly) tell her that it's not too late to cancel their trip to London, if that's what she wants, but they quickly change the subject and bid Juliet a brief goodbye. Juliet is miserable at being abandoned by her parents again, especially during another bout of illness, and remains angry until she is visited by Pauline and Honora. While Honora is anxious about Pauline becoming ill as well, the girls are overjoyed to see each other again. They continue to communicate via frequent letters detailing both their own thoughts and those of Charles and Deborah.
With Juliet away, Pauline begins to seek new experiences to fill the emotional void. She allows the persistent affections of John (Jed Brophy), an awkward young man boarding at the Rieper's house who claims to be in love with Pauline and comes to her room at night. Though Pauline is annoyed by his presence, she allows him to climb into bed with her to have sex. She remains oblivious to his intentions at first, as her thoughts are occupied with Juliet, Borovina, and her disdain for school, but John soon makes his true feelings known. They are caught together by Pauline's father, who evicts John and is deeply angered and hurt by his daughter's behavior. Her mother, Honora, is furious as well, calling her a "tart" who brings shame on their family, and forces Pauline to move back into the main house where she can be kept out of trouble. Pauline continues to sneak out to see John, whom she calls "Nicholas" after one of her and Juliet's characters from Borovina, though she has no real interest in him, and allows him to have sex with her simply out of resentment for her parents.
When Juliet is well enough to return home, the girls resume their relationship, which only grows in intensity. Juliet's father Henry is disturbed with the obsessive behaviors of the girls, and nervously meets with Pauline's parents to reveal his concerns. Though he admits that he has seen no explicitly inappropriate behavior from the girls, he recommends that Pauline see a doctor friend of his, Dr. Bennett (Gilbert Goldie), who also has a background in child psychology.
After interviewing a sullen Pauline, Dr. Bennett tells Honora that Pauline is likely going through a homosexual phase, but that it will likely wear off as Pauline matures. With homosexuality being considered a mental illness at the time (not to mention the social implications from the largely Catholic community), the parents of the girls agree that the friendship must taper off.
Meanwhile, Hilda Hulme's affair with her marriage counseling patient, Bill Perry (Peter Elliott), is discovered by Henry and they agree to divorce. Henry resigns from his position as rector of the University of Canterbury and plans to move back to England. After being told the news of this final abandonment, Juliet is told that she will be sent to live with a relative in South Africa, using the excuse that the warm climate will be better for her health. Juliet and Pauline will be allowed to spend three weeks together before the move. Pauline makes a desperate plea to her mother to be allowed to move to South Africa with Juliet, but Honora flatly refuses to allow it. Pauline begins to despise her mother for her role in breaking up the relationship, which has endured and blossomed for the past two years, and her thoughts turn violent as her time with Juliet begins to run out.
After viewing an Orson Welles film at the local cinema 'The Third Man', Juliet and Pauline return home to Juliet's house where they finally consummate their feelings towards each other and make love for the first time. With their romantic bond cemented, Juliet and Pauline entertain a rather flimsy plan to run away together to America, but following the scheme's collapse, they decide to kill Pauline's mother to remove what they believe to be the chief obstacle to their fantasy life.
On June 22, 1954, they arrange an outing with Honora to Victoria Park, where the three of them stop for tea before going for a walk in the woods. After a bit of hiking, Juliet distracts Honora by dropping a pink gemstone onto the path and directing Honora's attention to it. While Honora is bent over examining the stone, Pauline extracts a brick in a stocking from her purse. She and Juliet take turns bludgeoning Honora until she is dead, and then run screaming, drenched in blood, back to the tea shop where they tell the shopkeep that "Mummy's been terribly hurt."
The final scenes are a montage black and white fantasy segment of Juliet's parents taking her away on a ship while Pauline watches from the docks as she and her one true love, Juliet, are separated as a result of their murderous actions forever.
The film closes with an on-screen text saying that the girls' story of Honora's "accidental" death quickly dissolves, and both are arrested after police find Pauline's diary which explicitly outlined their murder plan. Pauline is charged under her mother's maiden name, Parker, after it was discovered that her parents were not legally wed. Being too young for the death penalty, Juliet Hulme and Pauline Parker were convicted of murder and served five years in prison and were released in late 1959 under the condition that they never contact each other again. Juliet returned to England with her mother, while Pauline remained in New Zealand until 1965 when she left and her current whereabouts are unknown. Neither of them saw each other again.