The film opens with two men, José (Hugo Silva) and Tony (Mario Casas) robbing a pawn shop. Tony is unhappy that José has brought his son Sergio (Gabriel Delgado) along on the heist and is even unhappier that the child is participating with them, as this puts both him and them at risk. The robbery initially seems to go well and the group collects a large bag full of gold rings and jewellery, only for the robbery to turn sour and for several people to die in the resulting gunfire. The men hijack a taxi and stow its unwilling passenger in the trunk, then force the driver, Manuel (Jaime Ordóñez), to drive towards Spain's border with the intent to flee to France.
The group is followed by Sergio's mother and José's ex Silvia (Macarena Gómez) as well as two police investigators Pacheco (Secun de la Rosa) and Calvo (Pepón Nieto), who are following Silvia. The men end up in the Navarrese town of Zugarramurdi where they come across a group of cannibalistic witches led by Graciana (Carmen Maura), whose mother Maritxu (Terele Pávez) tries to cook Sergio in her oven. They manage to escape the witches once but are forced to turn back when they realise that José has accidentally left the loot at the witches' house. They return but are swiftly captured by the witches with the exception of Sergio, who escapes but is ultimately re-captured by Maritxu. At this point José learns that Sergio will be used as part of an arcane ritual to Graciana's goddess and that the rest of them will likely be killed as part of the ritual.
Silvia, who has been following the men's trail throughout the film, manages to find the witches' house in time to see Sergio get carried into the house. She enlists the help of the cops (as she knew that they'd been following her) and the three of them manage to break into the house, where they find a secret passage that allows them to witness a dinner party Graciana is holding for various witches that will be attending the night's ritual. The secret passage, which was in the ceiling, ends up to be too weak to hold the weight of Silvia and both cops, and the trio ends up landing on the dinner table. José, Tony, and Manuel end up escaping in the chaos, however Silvia and the two cops are captured, with Silvia turned into a witch with the use of tainted toad juice. The three men are then chased by the witches and are all eventually re-captured except for José, who survives only through the intervention of Graciana's daughter Eva (Carolina Bang), who had fallen instantly in love with him. She demands that he leave with her right away, forsaking all of the others, only for José to refuse to leave his son behind. Eva throws a fit, which sends José flying and he flees the scene. He ultimately ends up in an underground chamber in the house, where he comes across Eva's brother Luismi, who has been imprisoned for years. José frees Luismi, who then shows him the way to the ritual chamber. Along the way they free Eva, who had been buried alive by her mother for her betrayal. Eva professes her love for José, who turns her away because she is a witch and because everything is so chaotic.
Ultimately Luismi and José make it to the ritual chamber where they see Tony, Manuel, Pacheco, and Calvo get put in front of a fire to slowly burn to death. They also witness the emergence of Graciana's ugly goddess, a grotesque gargantuan woman resembling a fertility statue. The ugly goddess devours Sergio, who passes through the giant and emerges alive, much to the joy of the witches, who proclaim that he will lead them all to victory over mankind. José confronts the witches with the help of Eva, who manages to cause the goddess's destruction, and José manages to escape the chaos with Sergio, Eva, and the other men. The witches are all presumed to have died in the chaos caused by the goddess's death throes. The film ends with an epilogue that takes place at a school talent show one month later. José and Eva are shown to be a couple raising Sergio, who is growing into his powers. Everything seems to have ended happily, only for the camera to show that Silvia, Graciana, and Maritxu are all alive and are content to wait for the couple to grow discontent with their happiness and once again turn to the witches.Hugo Silva as José/ChristMario Casas as Antonio "Tony"Terele Pávez as MaritxuCarolina Bang as EvaCarmen Maura as Graciana BarrenetxeaJaime Ordóñez as ManuelGabriel Ángel Delgado as Sergio (as Gabriel Delgado)Macarena Gómez as SilviaPepón Nieto as Inspector CalvoSecun de la Rosa as Inspector PachecoJavier Botet as LuismiEnrique Villén as El Inadaptado SocialSantiago Segura as MirenCarlos Areces as ConchiManuel Tallafé as El Hombre de BadajozMaría Barranco as Elderly woman
Critical reception for Witching & Bitching has been positive and the film currently holds a rating of 83% on Rotten Tomatoes (based on 24 reviews), with the consensus "Dark, nasty, and delightfully subversive, Witching and Bitching is gross-out genre fun with a heaping helping of warped comedy for good measure".