Jack Wyatt (WILL FERRELL) is a mostly washed up actor who's appeared in a string of critical and financial disasters. He gets a last shot at redemption, however, when his manager, Ritchie (JASON SCHWARTZMAN), gets him cast to play Darren in a contemporary update of the popular 1960s TV sitcom, "Bewitched." Recognizing that the original show changed actors playing his part with no one seeming to notice, Jack wants the producers to cast an unknown actress to play the part of the witch Samantha.
He thinks he finds her when he spots attractive Isabel Bigelow (NICOLE KIDMAN) in a bookstore and notes that she even has the ability to wiggle her nose as needed in the show. Isabel doesn't know much about the world of TV production, or the regular world for that matter, as it turns out she's actually a real witch. Having led a sheltered life under her carefree, playboy father Nigel (MICHAEL CAINE), Isabel now wants to experience reality, sans any sort of magic, although she has a hard time going cold turkey.
Thus, when she's offered the part in the series, she agrees, much to the delight of her new best friend and neighbor Maria Kelly (KRISTIN CHENOWETH). With the aid of her assistant Nina (HEATHER BURNS), she joins Jack and actress Iris Smythson (SHIRLEY MacLAINE) -- who will play her character's witch mother, Endora -- on the set. While she's not terribly upset that she can't convince Jack that she's a real witch, she isn't happy that most everyone treats her in a condescending fashion and that Jack has rigged everything so that he gets most of the speaking lines and screen time.
With her relatives -- klutzy witch Aunt Clara (CAROLE SHELLEY) and sarcastic warlock Uncle Arthur (STEVE CARELL) -- showing up and complicating matters, Isabel decides to lift her ban on magic, but doesn't expect that she'll start falling for Jack as they continue shooting the show.