In 1985, Ivan Greer [Michael Des Barres] and Catherine Greer [Merete Van Kamp] live with their nine-year-old daughter Joy [Megan Edwards], their housekeeper Rebecca [Athena Massey], and Rebecca’s two daughters Ivy [Sabrinah Christie] and Violet [Jaime Pressly]. The three young girls grow up together like sisters, but Ivy starts to tire of their childish games. When Ivy sees Ivan come home earlier than expected, she quietly warns that “there’s going to be fireworks.” > "There's going to be fireworks." A tense moment unfolds as Ivan catches Rebecca in bed with the pool boy, and the two men briefly clash. After the skirmish, as Ivan tends his wounds, the argument between Ivan and Rebecca grows louder and is overheard by Catherine. Learning of the affair, Catherine makes a decisive choice and evicts Rebecca and her two daughters from the house, reshaping the family’s dynamics and setting a darker tone for what follows.
Fast forward to 1996, Catherine has died, and Violet has grown into a striking young woman who returns to the Greer home. Joy welcomes her sister back and offers her a summertime residence, suggesting Violet stay in Catherine’s old room while Violet looks for work as a waitress and plans to attend a local junior college. Joy is an accomplished amateur tennis player and is engaged to her boyfriend Michael [Greg Vaughan], who studies at Yale and works as an intern at Ivan’s bank. As Violet settles back in, she feels isolated amid Joy’s circle of Ivy League friends during a late-night party, and she slips away after finishing a shift at work.
Violet sees an opportunity to destabilize Joy’s life. When Joy’s boyfriend Michael brings Joy to her room, Joy rejects him, and Violet, dressed in a provocative leather outfit after returning from work, seduces him instead. Michael’s previous concerns about Joy’s faithfulness become a tool for Violet’s manipulation, and she supplies him with a small bottle of cocaine to rekindle his former addiction, leading to a sexual encounter between them. Violet’s obsession with Joy drives her to undermine every other relationship in Joy’s life.
The manipulation extends to Joy’s tennis world when Violet sabotages Joy’s close friend and tennis partner Jaimie [Shanna Moakler] by slipping drugs into drinks. Jaimie and Joy end up drunk and disoriented, and Jaimie wakes to find herself undressed and in Violet’s bed, horrified by what she believes happened. Violet then targets Michael a second time, using his humiliation to further isolate Joy. She also lures Ivan, skinny-dipping while he watches, and even dresses in his late wife’s clothes as part of her strange games.
Mrs. B [Susan Tyrrell], the housekeeper who grows increasingly suspicious of Violet, becomes a thorn in Violet’s side and soon learns enough to threaten exposure. Violet eliminates the threat by killing Mrs. B, removing any risk of being found out.
Michael, frustrated after losing his internship and discovering Violet’s deception, confronts Violet with the truth he has uncovered about her past and family history. He warns Violet to leave before he reveals everything to Joy at a later meeting. Violet tricks him into arriving earlier than planned, claiming Joy meant to stand him up and had another boy lined up. When Michael comes to the house, Violet knocks him unconscious and injects him with a lethal dose of drugs.
Joy returns home from a failed tennis match and learns of Michael’s death. She goes to tell her father, only to walk in on Ivan and Violet engaged in BDSM. Joy flees the house, and Ivan urges Violet to leave. Violet retaliates by concealing drugs for Ivan’s heart condition and disabling the phones. As Ivan attempts to drive away, Violet turns on the car in the garage and fills the room with carbon monoxide.
Joy, furious and shaken, returns to a house plunged into darkness. She discovers Mrs. B’s body and encounters Violet, who tries to coerce Joy into playing their old childhood games and even contemplates poisoning themselves. Joy resists, and a physical struggle ensues. On the stairs, Joy manages to pull Violet back by grabbing her pearl necklace. The necklace shatters, and Violet loses her balance, tumbling to her death. With the danger over, Joy steps outside the mansion with a quiet confidence, choosing to start a new life away from the Greer house and its haunting memories.