Plymouth, Massachusetts – On the evening of Thanksgiving, Sheriff Eric Newlon (Patrick Dempsey) arrives at the home of Mitch Collins (Ty Olsson) and his wife Amanda (Gina Gershon). Also celebrating is Thomas Wright (Rick Hoffman), owner of the RightMart stores, along with his new wife Kathleen (Karen Cliche) and daughter Jessica (Nell Verlaque), who hates Kathleen and is waiting to go to the movies with her boyfriend Bobby (Jalen Thomas Brooks) and their friends. Mitch, manager of one of the RightMart stores, is dismayed to learn he has been called into work for early Black Friday sales.
Jessica and Bobby join their friends – Evan (Tomaso Sanelli), Gaby (Addison Rae), Scuba (Gabriel Davenport), and Yulia (Jenna Warren) – for the movies, but Evan decides to take a pit stop to the RightMart. Since Jessica has access inside, the teens try to get into the store before it actually opens. Outside, the mob of customers grows unruly, with a teen from a rival school, Lonnie (Mika Amonsen), instigating a riot as they see the other teens inside and demand to be let in. The teens then see the chaos unraveling, with people being pressed against the cracking glass doors. The moment the doors break, a stampede of customers bursts in, with one security guard named Doug (Chris Sandiford) being trampled to death, and another customer gets his neck slashed by broken glass. Bobby tries to help but gets his wrist broken after someone stomps on it. Amanda, who had shown up to deliver something to Mitch, gets knocked over and has her head slammed by a shopping cart, which then gruesomely scalps her. Mitch finds his wife’s body and cradles her in despair, and the madness ends after Newlon fires a shot into the ceiling.
A year after the tragedy, RightMart is getting ready for another sale. Mitch, who has since quit his job, is now rallying against Thomas and the entire company after no arrests were made during the stampede, since security footage had apparently not been working that night. Bobby hasn’t spoken to Jessica or the others since the accident, which ended his career as a pitcher. Jessica has started dating another classmate, Ryan (Milo Manheim). While at a diner, the teens spot Bobby after his long absence, and they then find themselves tagged in an Instagram post by someone calling themself “John Carver”, after the famous pilgrim.
At night at the diner, waitress Lizzie (Amanda Barker), who was at the Black Friday riot and was the one holding the cart that killed Amanda, is closing up shop for the night. A killer wearing a John Carver mask then attacks Lizzie, slashing her palm and then dunking her head into a sink full of water before sticking her to the frozen freezer door. Lizzie rips her skin off to escape and is unable to call for help. When she tries to retreat to her car, she finds that Carver has already taken her keys and tries to run her over. Lizzie tries to hop inside a dumpster, only for Carver to slam into it, causing the cover to come down and cut Lizzie in half. Carver later displays her bottom half on top of the RightMart sign for everyone to see.
Newlon begins investigating the murder after learning of Lizzie’s involvement in the riot. Jessica helps in the investigation by providing Newlon with security footage that was missing from the night of the riot, and Lizzie is clearly seen in them. The teens also start to pick out suspects, such as Mitch, who is one of the more vocal haters of RightMart, or even Ryan, since he was seen in the footage talking to Doug before the riot began, but he says that he was picking up drugs from him.
A security guard named Manny (Tim Dillon), who ran away as the riot began, is getting ready to go on vacation, when he hears a noise in his house. Although he tries to come off as tough, he is impaled in the stomach with an electric mixer by Carver, who then wraps a garrote around his neck and uses it to decapitate Manny.
Carver then stalks Lonnie and his girlfriend Amy (Shailyn Griffin), who was with him during the riot. Amy tries to show off her skills on the trampoline for Lonnie, but Carver sneaks up behind him and twists his neck backwards. As Amy keeps jumping, Carver sticks a knife from under the trampoline, causing her foot to get stabbed before she falls and is fatally stabbed through the neck and back.
Jessica later goes with Evan and Gaby to the high school while Newlon and his officers are outside. Jessica separates from the couple, and Carver attacks and incapacitates them. He tries to go after Jessica, but she narrowly manages to escape.
Yulia’s father attempts to move her to Florida, with a security guard looking after them. Carver gets into their house and shoots the guard and Yulia’s father before going after Yulia herself. Jessica and Scuba learn she is in danger after seeing her get attacked over video chat. They make it to her house but are too late, as Carver has gotten Yulia and turns on a buzzsaw, throwing her on top and disemboweling her. Scuba holds his girlfriend’s body in shock.
The police decide to lure out Carver during the Thanksgiving parade, with Jessica and her family, plus Scuba, being made to participate since Carver is specifically targeting them. After a brief protest from Mitch (who is definitely not the killer), Carver comes out in a creepy clown costume and decapitates a turkey mascot before throwing smoke bombs into the crowd. As everyone runs in a panic, Carver manages to abduct Scuba and the Wrights.
Kathleen wakes up in Carver’s basement where he is “preparing” her like a turkey. She manages to free herself and almost escapes, but Carver catches her again and throws her into an oven where she is cooked to death. Carver then brings her roasted corpse out to a horrified Thomas, alongside Jessica, Scuba, Evan, and Gaby. Carver begins a live-stream and smashes Evan’s skull on-camera. Jessica uses a ring she got from a local drug dealer to cut herself free, and she passes it to Scuba so he can go free and attack Carver. Jessica manages to escape and lure Carver away from everyone else.
Jessica runs through the woods and comes across a parade warehouse. Newlon is found outside unconscious, and when Jessica goes inside, she sees Bobby walking around, making her think he is Carver. Although they try to go after him, Bobby is nowhere to be found. The police show up and inform Jessica that her dad and friends are safe. When Newlon is left alone with Jessica, she sees brambles on his shoes similar to the ones she went through in the woods, which tells her that Newlon is the real John Carver. He admits to it, saying that he was fueled by revenge because he was having an affair with Amanda, who was pregnant when she died. He also says he drugged Bobby to make them think he was Carver. Jessica then reveals she was live-streaming his confession. Newlon then goes after her.
Bobby returns to save Jessica, but as they try to get away in his truck, Newlon has already hooked it to a support beam to prevent them from leaving. Jessica exits the truck and starts to inflate a parade float. She waits for Newlon to walk near it before shooting the float, causing a massive explosion that engulfs Newlon in flames. In the aftermath, Jessica is reunited with her friends, while police believe that Newlon was definitely killed in the explosion since all they found was ash. Jessica then sees who she thinks might be Newlon as a masked firefighter holding an axe walks out.
Jessica later sleeps in bed with Ryan, where she has a nightmare that a flaming Newlon emerges from her closet to attack her.