The story begins with a group of Harijans migrating to a city and pausing for a night. An elderly (Om Puri) starts narrating the story of King Chakrasen.
King Chakrasen (Naseeruddin Shah) badly wants an heir, but neither of his two queens conceives a child.
One day Chakrasen smells a foul odor at his darbar. Upon investigating he is told the place is not cleaned because bhangis are on holiday for a wedding. Angrily, he summons them immediately and orders their flagellation as punishment. Meanwhile, his spy brings the information that his people are conspiring against the king. On the advice of his prime minister (Benjamin Gilani), he decides to declare a war against the neighbouring state, as a distraction. Unknown to the king, his prime minister is having an affair with his younger queen (Suhasini Mulay). Before the king can declare a war, the neighbouring king decides to attack for the similar reasons. Chakrasen's army wins the war but suffers major brutality. At the same time, the king receives the news that his elder queen is expecting a child. Hearing this news, the jealous young queen and prime minister conspires with the royal astrologer and tells the king that if the king sees the face of the newborn, he will die immediately. Fearing for his life, the king orders killing of the newborn. The soldiers, ordered to kill the child, have a change of heart. They put him in a wooden box and let go of him in the river. One of the bhangis, Malo Bhagat (Om Puri), finds the box and decides to raise 'Jeevo' with his wife, Dhuli (Dina Pathak), as his own. While in the kingdom, the royal astrologer suggests that if the king wants a child, he must build a stepwell and the king agrees to it.
Years pass by, the work on stepwell continues, but they can't find the water. Jeevo (Mohan Gokhale) grows up and falls in love with gypsy girl, Ujam (Smita Patil). The royal astrologer accidentally discovers that Jeevo is the son of the king and tells the king that the king must sacrifice 'Batress Lakshano Purush' (a man with 32 qualities), if he wants water in the stepwell and Jeevo is the only eligible man besides the king himself. The army sets out to capture Jeevo, but he runs away. Ranglo (jester) (Nimesh Desai) learns the truth and decides to inform the elder queen. Before that, the prime minister captures him and puts him in jail. Jeevo makes a plan with Ujam and tells the king that if he agrees to end the untouchability of his caste, then he'll surrender — else he'll kill himself and the king won't be able to complete the sacrifice. After consulting his ministers, Chakrasen reluctantly agrees to the demand. On the day of the sacrifice, Ranglo escapes from the prison and tells the king that Jeevo is his own son, to which king is delightful and aborts the execution. The stepwell suddenly starts filling up with water.
As the story approaches the end, one of the Harijans stops the elder and tells him not to lure the children with false 'happy endings' and narrates his own alternate ending. In the alternate ending, Ranglo doesn't arrive to tell the truth and sacrifice proceeds as planned, but there is still no water in the stepwell. Unable to bear the shock of their son's death, Jeevo's mother dies and Malo curses the king and commits suicide in the stepwell. Upon Malo's death, stepwell gets over-flooded, killing king and his ministers with him. The final sequence is interspersed with the footage of violent protests of Indian independence movement.
After graduating from the Film and Television Institute of India, Ketan Mehta was working for a satellite channel. Through his travels in villages, he came across the problems faced by rural population, specifically untouchability. He also came across Dhiruben Patel's play Bhavni Bhavai, — which back then was performed as a Bhavai — and decided to turn it into a movie. The film was made on a meager budget of ₹3.5 lakh (equivalent to ₹57 lakh or US$88,000 in 2016), with funding from NFDC. Most of the actors, including Naseeruddin Shah, Om Puri and Smita Patil agreed to work without any compensation.
Naseeruddin Shah initially declined the role, because of his previous experience of working with Ketan Mehta, when the latter directed Eugène Ionesco's play The Lesson for him. Ketan Mehta persisted and Naseeruddin finally agreed to do it because of his liking for the film, though he was hesitant about playing the role of a "Bumbling Raja".
Ketan Mehta filmed Bhavni Bhavai with distancing effect and the use of comic characters. Hence, the film is dedicated to Bertolt Brecht and Goscinny, the creator of Astérix. It is also dedicated to the inventor of the Bhavai, Asaita Thakar, who was a Brahmin outcast and lived among the lower caste communities. The Bhavai evolved into one of India's most energetic folk music and dance-dramas. The final sequence of the stepwell and sacrifice was filmed at World Heritage Site, Rani ki vav in Patan, Gujarat.Naseeruddin Shah as King Chakrasen
Smita Patil as Ujam
Mohan Gokhale as Jeevo
Om Puri as Malo Bhagat
Dina Pathak as Dhuli
Benjamin Gilani as Prime Minister
Suhasini Mulay as Younger Queen
Nimesh Desai as Ranglo
Gopi Desai as Rangli
Bhavni Bhavai songs were composed by Gaurang Vyas and written by Dhiruben Patel.
Bhavni Bhavai received a wide critical acclaim and is considered one of the best Gujarati films of all time. It was considered path-breaking for dark humour and satire because most of films of the time were based on mythology and religious stories. The film was also praised for then-novel technique of 'breaking the fourth wall'.
New York Times described it as "Enhanced by interesting costumes and incisive dialogue, the fable combines comedy and social commentary as it moves through its classic tale." Variety called it "A delightful didactic fable with sharp Brechtian influences that works on practically all levels." Khalid Mohamed of Times of India said, "like a lightening red Bhavni Bhavai, the Gujarati Film is very special – inventive, moving and fine grained – the film is so simple, song filled and entertaining that it is well along its way before you recognise it as a tour do farce it actually is." American film critic J. Hoberman called the movie "the finest film I saw in India" and described it as stunningly photographed and universally accessible. Director Sudhir Mishra has said that Bhavni Bhavai was one of the films that inspired him to take up filmmaking.