Witchcraft has been passed down through generations to the Owens women. Two descendants, Frances and Jet live with their orphaned nieces Gillian (Nicole Kidman) and Sally (Sandra Bullock) in the fictional town of Maria's Island in Massachusetts. The Owens family has a curse: if an Owens woman finds true love with a man, he will die tragically, as was the case with the father of Gillian and Sally, whose death also brought on their mother's death due to heartbreak. Sally is the more gifted of the two while Gillian's talents are more in charm and persuasion. After witnessing their aunts cast a spell on a man for a woman who seems obsessed with having his love, Gillian decides to fall in love and Sally casts a true love spell to protect herself.
As adults, Gillian runs away to California, but not before the sisters cast an oath to each other using blood from both of their hands. Lonely without Gillian, Sally meets an apple salesman, Michael; they marry and eventually having two daughters, Kylie and Antonia. Three years later, Michael falls victim to the curse and dies when a truck hits him, Sally and her daughters return to the Owens home to live with the aunts. Sally finds out the aunts cast a spell so she could fall in love. Sally swears off magic because the magical curses have ruined her life, and vows that her daughters will not do magic.
Meanwhile, Gillian begins a relationship with Jimmy Angelov. Meanwhile, Sally is mourning and refuses to leave her bed. Gillian feels that Sally needs her and drugs Jimmy to go visit her. Sally tells Gillian everything that she feels and Gillian in turn tells her about Jimmy. During this time, Sally and Michael opened their own botanical shop, Verbena. Kylie and Antonia visit their mother's shop and get into an altercation, but Sally stops them.
When Jimmy becomes abusive, Gillian returns to Sally, but Jimmy kidnaps both of them. Sally puts belladonna into Jimmy's tequila to knock him out, but inadvertently kills him. The sisters drive back to their aunts' house and attempt to resurrect him using the forbidden spell from their aunts' book of spells. His body becomes alive and Jimmy immediately attempts to kill Gillian, but Sally kills him again, and the sisters bury his body in the garden of the Owens home. Local state investigator Gary Hallett searches for Jimmy and deduces that Sally is the killer. Gillian has Kylie and Antonia create a potion that will banish Gary, but the plan fails. Eventually, Sally has Gary record her testimony. Again, Sally sees the letter she had once written Gillian, and realizes he must have read it more times than he had let on. Unable to deny their feelings for each other, they kiss passionately. Looking into his eyes, Sally sees that he has one green eye, one blue. Afraid of going any further, and realizing that the only reason he was there was the spell she had cast long ago, Sally leaves.
Sally finds that Jimmy's spirit has possessed Gillian's body. Gary, who had followed her, sees Jimmy's spirit emerge. Jimmy attempts to grab Gary's heart, but his star-shaped badge saves him and temporarily exiles the spirit. Later, Sally tells Gary of her spell, saying that the only reason he's here is because of that spell and the feelings they have for each other aren't real. Gary replies that curses are only true if you believe in them and he doesn't. He also says that he wished for her, too. He decides to leave town without arresting Sally.
Jimmy possesses Gillian again and attempts to kill Sally. Realizing that a coven needs to be formed of 9 women to use witchcraft against Jimmy, Frances and Jet return. Sally realizes she must embrace magic to save her sister. She is also forced to ask the aid of townswomen who had feared the sisters. The women come, out of curiosity and a desire to help. The exorcism is a success and Jimmy's spirit is dispelled and the 300-year-old curse of the Owens women is ended when Sally repeats the spell that was mentioned as Gillian first left, while clasping their hands to mix each other's blood once more. The spell is lifted and Gillian returns.
Sally receives a letter from Gary telling her that she and her sister are cleared of any suspicion of wrongdoing in Jimmy's case and Gary eventually returns to the town to be with Sally. The Owens women celebrate All Hallow's Eve dressed up in stereotypical witch costumes, but they are embraced and welcomed by the townsfolk.