- R
- 2h 9m
- Directed by
-
- Zach Cregger
- Writer
- Zach Cregger
- Premiered
- August 04, 2025
- Language
-
- English
- Status
- Released
- Budget
- $38,000,000.00
- Revenue
- $265,894,217.00
- Awards
-
- 1 nomination total
- Country
-
- United States of America
Weapons
- Production
-
- New Line Cinema
- Subconscious
- Vertigo Entertainment
- BoulderLight Pictures
Spoiler
The chilling narrative of "Weapons" unfolds in the seemingly ordinary town of Maybrook, forever scarred by an inexplicable event two years prior. The film opens with the haunting voice of a young girl, Scarlett Sher, recounting the nightmarish dawn of a Wednesday morning, precisely at 2:17 AM. On this fateful hour, seventeen students from Ms. Justine Gandy’s (Julia Garner) second-grade class, with the solitary exception of young Alex Lilly (Cary Christopher), inexplicably walked out of their homes. Arms outstretched, they vanished into the inky blackness, leaving behind a town gripped by fear and a void of understanding. The central mystery of "Weapons" is the unknown cause and destination of these vanished children, a question that continues to plague Maybrook. Both Justine and Alex, the only ones seemingly untouched by the mass exodus, are questioned but offer no clues, their own bewilderment mirroring that of the distraught community.
The weight of the town's grief and suspicion quickly falls upon Justine. At a tense school meeting convened by Principal Marcus Miller (Benedict Wong), parents, consumed by their loss, direct their accusations at the young teacher. They insinuate that something she said or did precipitated the children's disappearance, despite Justine’s own profound distress and shared concern. Marcus valiantly attempts to shield Justine from the parents' escalating fury, a mob mentality that even calls for her incarceration.
Justine, a victim of circumstance and the town's scapegoat, retreats into a spiral of depression, seeking solace in alcohol. The anonymous threats from the parents escalate, culminating in a terrifying act of vandalism: her car is spray-painted with the word "WITCH." This incident, coupled with past instances where Justine's empathetic nature led her to overstep professional boundaries – such as comforting a crying student with a hug or offering a student a ride home – results in Marcus placing her on a leave of absence. She formally reports the vandalism and the harassing phone calls to the authorities.
Seeking a momentary escape from her torment, Justine reconnects with her ex-boyfriend, Paul Morgan (Alden Ehrenreich), a police officer who is striving to maintain his sobriety. Their reunion at a bar leads to a night of intimacy at Justine's apartment, a fleeting moment of normalcy before she drops him off at his home the following morning.
Later, Justine’s path crosses with Alex Lilly’s. She observes him walking home alone and, driven by a lingering unease, follows him. Upon arriving at his house, she finds the front door unanswered. Peering through the window, she witnesses a disturbing tableau: Alex’s parents are seated on the couch, unnervingly still, their vacant gazes sending a shiver down her spine. Troubled, Justine departs, later reporting the unsettling scene to Marcus. He, however, sternly instructs her to distance herself from Alex's residence. Her emotional turmoil continues as she is confronted at a liquor store by Donna (June Diane Raphael), Paul's wife, who has discovered their infidelity. Donna unleashes a torrent of vodka over Justine, an assault only halted by the intervention of the store clerk.
That night, Justine is plagued by a vivid nightmare. She envisions her classroom in the dead of night, her students seated at their desks, heads bowed in unison. Alex, however, lifts his head, his face contorted with a disturbing clown-like makeup. She awakens in a cold sweat, only to be confronted by the terrifying image of a red-haired woman, seemingly appearing on her ceiling.
The following day, Justine’s concern for Alex compels her to revisit his house. She attempts to ascertain his well-being, but her persistent questioning only provokes Alex to lash out, demanding she cease her surveillance. Justine spends the remainder of the day observing the Lilly residence from a distance, eventually succumbing to exhaustion and drink. During the night, a mysterious woman emerges from the Lilly house, enters Justine’s unlocked car, and discreetly snips a lock of her hair.
Meanwhile, Archer Graff (Josh Brolin), another parent consumed by the disappearance of his son Matthew (Luke Speakman), grapples with his own anxieties. He repeatedly reviews a Ring camera recording of Matthew running out of their home in the dead of night, moving in an unnervingly straight trajectory. Archer, a contractor by trade, finds his professional life disrupted by the pervasive unease surrounding the town. His investigation leads him to Captain Ed Locke (Toby Huss) at the police station, but no new leads emerge. Like many in Maybrook, Archer harbors suspicions about Justine's involvement. It is later revealed that he is the one responsible for vandalizing her car. His own nightmares mirror Justine's, featuring a frantic chase through the woods that inexplicably leads him back home, where a rifle with the number "2:17" emblazoned on its side appears in the sky. He finds Matthew asleep in his room, and in a moment of tearful paternal affection, expresses his love, a sentiment he rarely conveyed in waking life. However, when he shines a light on his son, he sees the same unsettling red-haired woman, grinning menacingly.
Archer’s relentless pursuit of answers takes him to the home of Gary and Erica Bailey (Justin Long and Sara Paxton), whose child also vanished. He requests to view their Ring camera footage, which, despite Erica’s discomfort, Gary permits. Their daughter’s departure mirrors Matthew's, a straight-line dash into the darkness. Archer meticulously analyzes the footage, attempting to pinpoint a potential destination on a map.
His investigation leads him to a gas station where he encounters Justine. Their interaction, initially fraught with tension, is abruptly interrupted by the sight of Marcus running towards them, his arms outstretched in a manner eerily reminiscent of the missing children, his eyes bloodshot as he charges at Justine. Archer intervenes, pulling Marcus away, allowing Justine to escape into the convenience store while he attempts to subdue the deranged principal.
The narrative then shifts to Paul Morgan's perspective, detailing his day before meeting Justine. He is seen at the police station, interacting with Captain Locke before commencing his patrol. He apprehends a young man, James (Austin Abrams), attempting to break into a building. James flees, but Paul eventually catches him. During the arrest, Paul accidentally pricks his finger on a used needle while searching James’s pockets. A moment of uncontrolled rage leads Paul to punch James forcefully. However, he realizes his dashcam has recorded the incident. He dismisses James, warning him to leave Maybrook.
Later, Paul’s encounter with Justine leads to their intimate night. Upon his return home, Donna immediately senses his infidelity. At work, Paul faces reprimand from Locke regarding the incident with James. As Paul exits the station, he spots James approaching. Driven by anger, Paul begins to pursue him.
James, a drug addict living in a makeshift tent in the woods, struggles to fund his habit by selling discarded items. Following his confrontation with Paul, James breaks into the Lilly residence, seeking valuables to pawn. In the basement, he stumbles upon a horrifying sight: all seventeen missing children, standing in a state of catatonic stillness. He is startled by Mr. and Mrs. Lilly (Whitmer Thomas and Callie Schuttera), who begin to pursue him until he flees. Near his tent, James also notices the eerie red-haired woman waving at him.
Discovering a substantial reward for information regarding the missing children, James reluctantly heads to the police station. It is there that Paul spots him again, initiating another chase. Paul corners James at his tent, attacking him for reappearing. However, James reveals he knows the location of the missing children. Paul drives to the Lilly house with James in tow. Hours later, Paul emerges from the house, his demeanor altered, seemingly in a trance. He drags James from the car and into the house by his feet.
Marcus, meanwhile, is at the supermarket with his husband Terry (Clayton Farris) when Justine calls, relaying her disturbing observations at the Lilly house. Marcus agrees to meet with Alex and his parents on Monday to investigate. On Monday, Marcus arrives at the Lilly residence, expecting to meet the family, but is instead greeted by the unsettling presence of Alex’s Aunt Gladys (Amy Madigan), who claims Alex’s parents are unwell and unable to attend.
Later that day, Gladys unexpectedly visits Marcus and Terry’s home, feigning distress and requesting water. She then deliberately cuts her hand, smearing blood on a stick. She proceeds to snip a lock of Terry’s hair, wrapping it around the bloodied stick. When Marcus threatens to call the police, Gladys rings a small bell, causing Marcus to freeze. She then breaks the stick, and Marcus turns on Terry, violently attacking him, regurgitating black bile before fatally headbutting him. Gladys then wraps a lock of Justine’s hair around another stick and breaks it, compelling Marcus to attack Justine.
Marcus, now under Gladys’s influence, confronts Justine and Archer. He chases Justine into a store, where Archer intervenes, tackling Marcus into a beverage refrigerator. Justine escapes, but Archer pursues Marcus as he flees into the street, where he is tragically struck and killed by a passing car.
Following the hospital visit, Justine and Archer, their initial animosity dissolved, agree to collaborate. Archer shares his map, illustrating the potential paths taken by Matthew and the Bailey child. Justine recognizes the location as the Lilly house.
The film then flashes back to a period before the disappearances, revealing Alex as a quiet, lonely child, frequently bullied by Matthew. His parents appear loving and kind, but inform Alex that Aunt Gladys will be staying with them due to illness. Alex secretly observes Gladys, discovering her red hair is a wig and that she keeps a small tree in her room, from which she uses branches for her rituals.
One day, Alex returns from school to find his parents in a catatonic state, while Gladys appears healthier. When Alex questions their condition, Gladys breaks one of her ritualistic sticks, causing Alex’s parents to stab themselves with forks until Gladys commands them to stop. She threatens Alex’s parents if he reveals her actions. Alex is forced to care for his parents in silence. As Gladys weakens, she instructs Alex to procure an object from each of her classmates, enabling her to recover and depart. Alex collects the name tags from their personal bins. Gladys tears them up, creating a concoction that summons the children to the Lilly house at 2:17 AM.
Returning to the present, Gladys has Mr. and Mrs. Lilly standing behind a salt line, warning Alex not to cross it. Justine and Archer infiltrate the Lilly house. Justine inadvertently steps over the salt line, triggering a possessed Paul and James to attack them. Simultaneously, Alex crosses the salt line, causing his parents to pursue him. Justine manages to incapacitate Paul with a potato peeler before taking his gun and shooting him. Archer confronts James, who retreats to the basement where the children are held. Justine executes James and searches for Alex. Archer attempts to find Matthew but is intercepted by Gladys.
A possessed Archer then attacks Justine. Alex locks himself in the bathroom, retrieves a branch from Gladys’s tree, pricks his finger, smears blood on it, wraps it with a lock of Gladys’s hair, and breaks it. Gladys realizes something is amiss as the seventeen children surge from the basement towards her. The malevolent witch flees the house in terror, moving through neighboring properties as the children rampage, breaking through windows and fences. They ultimately catch up to Gladys, tearing her to pieces. This act breaks her spell on Archer and the Lillys. Justine finds Alex reunited with his parents, while Archer locates Matthew and takes him home.
The child narrator’s voice returns, revealing that Alex’s parents were institutionalized and he now resides with a kinder aunt. The other children are reunited with their families, and some have begun to speak again, their trauma a lingering shadow.
Top Billed Cast
Core Crew