Vaidehi (Manisha Koirala) gets married to Raghuvir (Jackie Shroff), an NRI. Suffering the agony of an unhappy marriage, she decides to run away from him when she learns that she is pregnant and he wants to take the child away from her. In her pursuit for freedom, she meets Mythili (Mahima Chaudhury) a bride-to-be, Janaki (Madhuri Dixit) a theatre artist and Ramdulari (Rekha) a village midwife - all of whom are victims of male chauvinism. They however refuse to be put down and fight for their rights.
Vaidehi (Manisha Koirala) lives with her husband Raghu (Jackie Shroff). On the outside, she lives a sophisticated life, but behind closed doors, her husband is abusive and has extramarital affairs. When she takes a stand for herself, she is banished from the household. She goes back to her parents' house but they too reject her. Vaidehi soon finds out that she is pregnant.
Raghu gets into a car accident, which results in him being unable to father a child. When he discovers that Vaidehi is pregnant, he calls her, faking remorse, and asks for her to return. Vaidehi agrees, thinking Raghu has mended his ways. Raghu and his father plot for the child to become their heir and if Vaidehi intervenes, she will be killed. Meanwhile, Vaidehi is informed by a friend about Raghu's true intentions, and so she escapes from his henchmen. She is helped by Raju (Anil Kapoor), a petty, but kindhearted thief. He hears Vaidehi's story and gives her money from his heist to help. To hide from Raghu and his henchmen, Vaidehi gatecrashes a wedding procession.
At the wedding, she meets Maithili (Mahima Chaudhary), a bride-to-be from a middle-class family. Maithili is marrying a man who hails from a rich background. The two women witness Maithili's father being hassled by demands for an opulent wedding, which he cannot afford, and is forced to pay dowry. Vaidehi tries to convince Raju to give his money from the heist. He initially refuses but changing his mind, he returns to give his heist money to Vaidehi. The groom's friend attempts to rape Maithili. As the wedding ceremony progresses, one of the guest recognizes the heist money which initially belonged to him. Moreover, the groom's friend tells the groom's family that he spotted a man (Raju) in Maithili's room. Maithili is accused of having sexual relations with Raju in return for money, which leads Raju to accept his theft as the situation worsens. Having tolerated enough, Maithili insults the groom's family and they flee from the wedding.
Meanwhile, Vaidehi is found by Raghu, and forced into going with him. On the way, they encounter a protest mob. Raghu gets out of the car, which gives Vaidehi the chance to escape. She arrives in Haripur, a small town, where she meets Janki (Madhuri Dixit), a theatre actress in love with her colleague. Janki is pregnant, but not married. She doesn't care for society's norms. She is lusted after by the theatre director, Puroshottam (Tinu Anand), an older man who keeps his wife, Lata (Jaya Bhattacharya), confined to their house. Puroshottam talks against Janki to her lover, which creates a rift between them. She is asked to abort the child by her lover, as he suspects that he might not be the real father, indirectly accusing Janki of having sexual relations with the theatre director. Janki is outraged and messes up a scene during a performance of the Ramayan. This leads to an outcry from the audience and she is assaulted by the audience, leading to her having a miscarriage. Vaidehi confronts Puroshottam, who threatens to call her husband. However, Lata intervenes and takes Vaidehi to the station and puts her on a train.
The train is robbed by bandits but the passengers are saved by Bulwa (Ajay Devgan), a local dacoit. Vaidehi faints at the sight of blood, and Bulwa takes her to the local midwife, Ramdulaari (Rekha). Ramdulaari bravely opposes the village leaders Virendra (Gulshan Grover) and Gajendra (Danny Denzongpa) who exploit innocent women, young and old. When her educated son, who is trying to educate the villagers against the wishes of Virendra and Gajendra, falls in love with Gajendra's daughter, Sushma (Aarti Chhabria), all hell breaks loose. Gajendra slyly locks Ramdulaari in her house and sets out to find her son. When her son runs away with Sushma, Virendra and Gajendra, along with their goons, rape Ramdulaari and burn her alive. In a fit of rage, Bhulva and his goons kill Virendra and his goons. Vaidehi escapes with Sushma and Ramdulaari's son.
Gajendra is making a move into politics, so when he is applauded by the local authorities, Vaidehi intervenes and exposes Gajendra as a rapist and fraud through a heart-wrenching speech, which drives all the women in the audience to assault Gajendra, who is later killed by Bhulva. The speech changes Raghu's attitude towards Vaidehi and he decides to mend his ways. The two return to New York as a proper married couple. Vaidehi gives birth to a daughter who is named Ramdulaari. She meets Raju again, who is now a taxi driver and married to Maithili. She invites him to a charity dance show with Janki in the main role, wherein all the money from her shows goes to fund women's organizations in India.
Before the film begins, the following statement is displayed: "None of the characters or situations depicted in this film are imaginary or fictional, really speaking. They are echoes of what is happening all around us in our so called civilized society. At best, these voices - cries, and shrieks, pleas and whispers - have been amplified for deaf people to take note. After all, the greatness of a civilization can only be measured by the status of its women."
Tabu was offered Mahima Chaudhry's role but turned it down.
A. R. Rahman was signed as the film's music director, but opted out.
Sign up and get access to some cool features. Create watchlists, check in at movies, rate them or even write whole reviews! You can also share literally everything on Moviebuff with your friends, enemies, frenemies, family, babysitter or pets. Is that enough incentive for you?