The unnamed protagonist, known only as the boy, moves in with his grandmother after he is left an orphan. The boy and his grandmother are great friends. She tells him many stories about witches, specifically how to recognize them so he will be safe from them. Aside from a few distinguishing physical characteristics (they are bald, have clawed hands, and lack toes), witches look like human women, but are awful creatures that prey on children.
The grandmother warns him about the Grand High Witch, the most evil and most feared leader of all the witches. When the grandmother and the boy go on a holiday to a fancy hotel on the English coast, the boy encounters a group of witches gathering for their yearly meeting. He overhears the grand witch introducing her new invention, something she calls Formula 86, a potion to turn children into mice. The witch explains her plan of putting the potion in candy and having the witches all open sweet shops. As part of her presentation, the Grand High Witch lures a boy named Bruno Jenkins who is a guest in the hotel and turns him into a mouse. After discovering the boy, the witches turn the boy into a mouse as well.
The boy finds Bruno and realizes that both of them still regain their personalities, voices and intelligence despite being transformed. The boy comes up with a plan to turn all the witches into mice by stealing some of the potion and putting it into the witches' food. The plan succeeds: all the witches are instantly transformed into mice, and then killed by the hotel staff and guests.
After returning home, the boy and the grandmother come up with a plan to use the potion to eradicate all of the witches in the world. The boy is still a mouse, and will only live another nine years; but he is not concerned by this, since he will live as long as his grandmother.