Shortly after the school day ends on Halloween, Dani hides in her brother Max's closet, intending to jump scare him when he gets home. She bursts out after he cuddles with a pillow he's pretending is a girl named Allison, triumphantly startling him. She smugly tells him that he has to take her trick-or-treating since their parents are going to a party, but he stubbornly refuses. Unable to get him to change his mind, Dani screams like a banshee for her mother, who forces Max to take his sister trick-or-treating.
While out claiming candy, Dani is annoyed that Max is acting so aloof. When they come across the neighborhood bullies Jay and Ice, Dani ignores her brother's warnings and boldly attempts to walk past them. However, they won't let her leave without giving them some of her candy, despite her eye-rolling. She calls her brother for backup, but the bullies merely laugh at him. She attempts to stand up for her brother, but she unknowingly makes things worse until Max gives Ice his bag of candy and drags Dani away. She tells her brother that he should have been braver, but he loses his temper and yells at her for embarrassing him. Hurt, Dani dashes off and collapses into tears on someone's pumpkin-strewn haystack.
Max sits down beside her and apologizes, explaining that he's frustrated because he doesn't like living in Salem. He misses his friends in Los Angeles and wishes they could move back home. Dani states that Salem is their home now, and he'll just have to get used to it. After Max pleads a bit, Dani decides to give him another chance. Turning to the house whose pumpkins Dani's just cried on, they are amazed by its grandeur. It turns out to be the home of Allison, the "pillow" Max was pretending to cuddle. Dani deliberately embarrasses her brother in front of Allison, but she simply sidesteps the awkwardness and says that she likes Dani's witch costume, revealing that her mother used to run the Sanderson Sisters' Cottage, which used to be a museum until it closed down due to the "spooky things" that kept happening there. Max suggests that they visit the cottage, but Dani has heard stories from her friends at school and is very reluctant. Nevertheless, as Allison agrees to take them and goes upstairs to change out of her costume, Max convinces Dani to go along by promising to dress up as Peter Pan, with tights, for Halloween next year.
Dani is very uncomfortable when they enter the cottage, especially when Max decides to light the Black Flame Candle, which legend says will summon the dead back to life when lit by a virgin. Before he can try, he's attacked by a black cat, frightening Dani so badly she starts to drag Allison out the door. Rolling his eyes at her discomfort, Max lights the candle anyway. When the flame instantly turns black, he knows he's made a mistake.
The house rocks with power as the sisters are revived. When the door is thrown open, Dani and Allison hide on either side and Max ducks down below a table. The witches are overjoyed at returning home, even more so when Mary declares that she smells children. Her powerful nose leads them straight to Dani's hiding place, forcing her out into the open. Dani thinks quickly and pretends that she's another witch and summoned them herself, but the bluff doesn't work. They pick her up and almost succeed in throwing her into their cauldron when Max jumps out of hiding, demanding that they release his sister. Amused, Winifred easily subdues him with her powers. Held fast by Mary, Dani can only watch as Winifred practices her witchcraft on him, delighted that she hasn't lost her touch at all.
When Allison attacks Mary, Dani runs to Winifred and wallops both her and Sarah with her candy bag. The black cat that attacked Max leaps onto Winifred, giving Dani enough time to wake up her dazed brother. Dani flees outside with Allison as Max triggers the sprinklers, which he convinces the witches is a "burning rain of death". He breaks into the glass case containing the spellbook and makes his escape along with the cat.
The cat leads them to a graveyard, telling them that since its hallowed ground, witches can't set foot there. Confronted with a talking cat, Dani and Allison stare at Max, who merely states that the cat talks as if its the most normal thing in the world. The cat leads them straight to grave of Billy Butcherson, and ex-lover of Winifred's. He explains that when Winnie found out that he was cheating on her with Sarah, she poisoned him and sewed his mouth shut so he couldn't reveal her secrets even in death, hoping that the trio will understand who they are dealing with. Allison realizes that the cat must be Thackery Binx, a young teenager who mysteriously disappeared the day the Sisters were hung. He then leads them to the grave of his little sister Emily. He had failed to save her from the witches and was himself cursed to live forever as a cat, doomed to spend all eternity with his guilt. Determined to prevent anyone from resurrecting the Sisters, Binx spent the last 300 years guarding the Black Flame Candle from people like Max.
Suddenly, the Sisters arrive. Although they can't set foot on hallowed ground, they can still fly above it on their broomsticks. Even so, they don't have much success capturing the children so Winifred calls in backup. She raises Billy back from the dead as a zombie and orders him to retrieve her spellbook. Binx helps them escape through the sewers. Allison comforts Dani by holding on to her shoulders and Max warns her to not look at the ceiling, not wanting her to see the skeleton nearly falling out of its casket. When they emerge, Dani is deeply upset when Binx is almost immediately run over by a bus. Crying at the sight of his flattened body, Dani's tears are stunned into stopping when he reinflates. Reminding them that he's immortal, Binx asks if Dani's okay before they continue.
They attempt to warn a police officer that the witches are back, but he turns out to just be a guy in a costume. When he doesn't believe them, they decide to warn Dani's parents, Dave and Jenny, instead. However, they're no easier to convince than the fake police officer. Suddenly, Dani catches sight of the Sisters and Billy. As the Sisters take the stage and hold the entire room quite literally spellbound with their singing, Dani and the others run from Billy, eventually managing to escape. A panicking Max tries to make Allison take Dani back to her house and keep her there for her own protection, but Dani refuses to leave him. Hiding from the sisters once again, Allison finds an old oven and has an idea to burn the witches to death in the high school's pottery kiln. The plan seems to go perfectly as they watch them burn, and they soon celebrate the destruction of the witches. Although Binx is dismayed that the curse on him hasn't broken, he accepts Dani's offer to adopt Binx as her cat. Once home, she drowsily promises to take care of him always, and that her descendants will do the same before the two fall asleep.
Unfortunately, the Sisters survive, hardly singed. They successfully take back their book and kidnap Dani and Binx. Once at the cottage, Dani is tied firmly to a chair until the potion is ready. They try to force her to drink it, but she's able to avoid it long enough for Max to arrive, trick the witches into thinking the sun has risen, and rescue her and Binx. They head straight to the hallowed ground of the graveyard, where Billy is waiting for them. Cornered, Max tells Dani and Allison to run. By the time Max catches up to them, the girls have each found a large branch and prepare to hit Billy when Max stops them, explaining that Billy has actually turned out to be on their side. Tossing aside her stick, Dani greets the zombie with a smile.
Billy offers to let Dani stay inside his open grave where she will be safe, but just in case, Allison sprinkles salt all around it- a substance that witches can't directly touch. When the witches arrive and begin to attack, Winifred manages to knock Billy's head off. Unable to bear the sight of Billy blindly stumbling around looking for his head, Dani dashes out of the protected grave and gives it back to him. Unfortunately, Winifred takes advantage of this opportunity and snatches Dani into the air where she attempts to force the girl to drink what remains of the potion. Binx leaps onto the broom from a tree and scratches at Winifred, managing to make her drop the potion before he is flung to the rocky ground. Max catches the potion and threatens to smash it if Winifred doesn't let Dani go, but the witch promises that she'll kill her if the potion's smashed. Taking a third option, Max drinks it himself, forcing Winifred to release Dani and take him instead. Calling him a fool for sacrificing himself for his sister, she drags him high into the air and attempts to inhale his life-force despite his wild struggles. Dani, Allison, and Billy manage to hold back Mary and Sarah by yanking the cord of the vacuum cleaner Mary is using as a broomstick, releasing it once enough momentum has built up to slingshot the two sisters into the sky. As they fly uncontrollably past Winifred and Max, the two lose their balance and fall to the ground. Determined as ever, Winifred claws her way towards Max and once again tries to drain him, but she is standing on hallowed ground and turns to stone. Shortly after, the sun rises and causes the Sisters to explode.
Dani hurries to Max's side and expresses her disbelief that he sacrificed himself for her. He replies that he had to, he's her brother. They embrace as the siblings tell each other that they love each other. Reuniting with Allison and Billy, Dani tells the zombie to sleep well as he returns to his coffin. Suddenly realizing that Binx isn't there, Dani soon finds his body lying across his sister's grave. Sobbing, she begs him to wake up like he did before, but he doesn't stir. The curse is broken, and Thackery's soul is finally free. His spirit comforts Dani by assuring her that he will always be with her before joining the spirit of his sister Emily. Tearful, but smiling, Dani hugs her brother as they watch Thackery and Emily depart.
Dani is a headstrong eight-year-old who has no qualms about screaming like a banshee when Max refuses to take her trick-or-treating or making fun of him in public, but she has a good heart and does not hesitate to defend him from neighborhood bullies or The Sanderson Sisters. She is practically fearless, facing down the bullies without flinching and even pretending to be a witch who summoned the Sisters back to life when they are suddenly revived. Though it doesn't fool them for a second, Dani still bravely fights back against the witches, hurling insults at them every step of the way. Even when they later tie her to a chair and there's little chance of escape, Dani shows no signs of fear, only anger.