Justine, a lifelong vegetarian, begins her first semester at veterinary school, the same place where her older sister Alexia studied and where their parents once met. On her very first night, she meets her gay roommate Adrien, and they are swept into a week-long hazing ritual that welcomes the new students. The evening culminates at a party where Alexia proudly shows Justine old class photos of students bathed in blood, including one with their parents. The next morning, the entire new class is splattered with blood and forced to eat raw rabbit kidneys. Justine refuses because of her vegetarian beliefs, but Alexia pressures her to eat one anyway, setting a tone of coercion that will echo through the days that follow.
Justine leaves with Adrien and soon discovers an itchy rash spreading across her body. A doctor diagnoses food poisoning and prescribes soothing cream, but the medical explanation does little to quell the growing unease inside her. The very next day, Justine begins to crave meat, a craving she finds deeply embarrassing and confusing. In a bid to hide her hunger, she and Adrien attempt a late-night burglary of a cafeteria burger, yet their efforts are thwarted by the fear of discovery. Undeterred, she and Adrien make a midnight run to a gas station so no one will witness her defilement of her own principles, and the hunger intensifies. By morning she is unable to resist and eats raw chicken, later vomiting up a long strand of her own hair she had chewed on. The night’s chaos reaches a brutal moment when Alexia tries to perform a bikini wax on Justine; in a panic, Justine kicks her away and accidentally causes Alexia to cut off her own finger. Seeing the blood, Justine tastes it and begins to eat it, while Alexia feigns that their dog Quicky had eaten it to spare her sister the truth.
The next morning brings a grim turning point. Alexia takes Justine to a deserted road, where Alexia drives into a car, causing the occupants to crash into a tree. In a further display of twisted precociousness, Alexia begins to eat one of the passengers so that her sister will “learn” a brutal lesson. Justine is stunned and horrified, but the hunger inside her only grows stronger. Despite such horror, her appetite for human flesh blossoms, and she begins to lust after Adrien in a way that unsettles her conscience.
That night, Justine finds herself at another party where a hazing ritual throws paint over her and forces her to kiss a boy. During the kiss she bites through the middle of his lower lip, leaving others in the room shocked and repulsed. Back in her dorm, she showers and removes a chunk of lip that she had chewed from her own mouth, tasting the metallic truth of what she is becoming. She confides in Adrien, and the two share a chaotic, charged moment of closeness, culminating in sex. During their intimacy, Justine attempts to bite Adrien but ends up biting her own arm until it bleeds profusely, an act that seems to bring her a disturbing, ecstatic release.
A different party raises the tension even higher when Justine becomes severely intoxicated. Alexia escorts her to the morgue, a stark contrast to the festive atmosphere she left behind. The following day, Justine notices that every eye in the room seems trained on her. Adrien shows her a disturbing video of her crawling on all fours, trying to bite the arm of a corpse while Alexia eggs her on, provoking a chorus of boos and cheers from the watching crowd. The siblings confront one another and engage in a savage fight, biting at each other until they are pulled apart by their peers. In the aftermath, Justine helps Alexia to her feet and the two return to their dorms, moving through the campus as if tethered to the same bloody rhythm.
The next morning, Justine wakes up in bed with Adrien, covered in blood. She discovers Adrien dead, his right leg eaten and a stab wound in his back. In a stunned moment, she also sees Alexia slumped on the floor, covered in blood. Though initially furious that Alexia killed Adrien, Justine cleans both herself and her sister in the shower, attempting to wash away the terrible truth of what has happened. Alexia is subsequently imprisoned for the murder, and Justine is sent back home.
The drive home is a difficult one, and Justine’s father offers a counterintuitive kind of solace. He tells her that what happened is neither hers nor Alexia’s fault and shares a personal revelation: when he first met her mother, he couldn’t understand why she wouldn’t be with him. The father explains that he understood only when they kissed for the first time, revealing the scar on his lip. He then removes his shirt to show scars and missing chunks of his chest, a stark symbol of enduring pain and resilience. With that intimate disclosure, he assures Justine that she will find a way to live with what she has become, hinting that an answer—no matter how brutal or difficult—will emerge from within.