Jaiprakash Paswan aka Jai (Kamal Hassan) and Janki Paswan (Tabu) are fighting a divorce case. Janki is the only daughter of Durgaprasad Bharadwaj (Amrish Puri), a staunch Brahmin businessman. Jaiprakash a Dusadh is an assistant dance director in films. The duo fell in love and married against the will of Durgaprasad.
However, Janki buckled under the pressure of a middle-class life. Other differences cropped up between the couple and Janki walked out. The court grants the divorce. Jai is allowed to meet his beloved daughter Bharti (Baby Sana) once a week. But when he sneaks into the Bharadwaj house to steal Bharti, he loses visitation rights.
Meanwhile, Durgaprasad puts ads in local newspapers for a nanny for Bharti. Jai sees this as an opportunity and calls Durgaprasad. Impersonating a female, he introduces himself as 'Mrs.Laxmi Godbole' and applies for the position. With the help of a drunkard makeup artist Joseph (Johnny Walker in his last and memorable role), Jai undergoes a complete transformation into Laxmibai Godbole, a dignified elderly Marathi woman. He goes to the interview, where he is generally viewed as the last pick. But Bharti has an accident, and Laxmi acts promptly to give first aid. Laxmi gets the job and the respect of the Bharadwaj family.
Jai begins the job, but creates plausible stories so that his real work schedule does not clash with the job in Bharadwaj's home. Apart from Joseph, only Bharti (who sees through her father's disguise) knows the real identity of Laxmi. Jai learns that Durgaprasad's secretary Banwari (Om Puri) is not exactly thrilled at Laxmi's entry. The reasons are various, such as Banwari's womanizing nature (which naturally views an old woman like Laxmi with dislike) and his desire to siphon off Durgaprasad's money via friendly maids.
Meanwhile, Durgaprasad decides to get Janki remarried to Dr. Rohit (Rajendranath Zutshi), her childhood friend. One day, when Janki and Rohit get attacked by goons in the market, the doctor scampers. Laxmi saves Janki's life and modesty. Later, Durgaprasad tells Laxmi that he has changed his mind about the marriage on learning of Rohit's cowardice. Laxmi also exposes the thefts committed by the maid in the Bharadwaj house. The maid is fired. Banwari has no other option but to let a male cook be appointed instead. Jai runs into his old friend Siraj (Nassar), a Muslim restaurant chef who is now doing menial jobs. Laxmi introduces Siraj to the Bharadwaj household as Pandit Shivraj Sharma, a mute Brahmin cook. Interestingly, even Siraj does not know that Laxmi and Jai are the same person.
Jai learns that although Janki likes Laxmi, who by now has earned the affectionate title of Chachi (a respected aunt), she still loathes Jai. Meanwhile, Jai has other problems in his own home. His landlord Haribhai (Paresh Rawal) is after him for his rent. After he sees Laxmi, Haribhai falls for her. As if that is not enough, a struggler named Ratna (Ayesha Julka) tries to cozy up to Jai. Meanwhile, Durgaprasad also falls for Laxmi and goes to the extent of proposing to her.
Jai, as Laxmi, buys time by telling Durgaprasad that 'she' is married but 'her' husband has left 'her' and got converted into a Christian named Joseph. Laxmi also convinces Durgaprasad that 'she' is still waiting for 'her' husband. On the other hand, Jai tells Haribhai that Banwari is Laxmi's husband Durgaprasad. He also tells Haribhai to harbour no feelings for Laxmi. At same time, Jai tells Banwari that Laxmi's husband has converted and calls himself Haribhai.
Banwari intensifies his efforts to discredit Laxmi in the eyes of Durgaprasad and Janki but in vain. Meanwhile, Janki and Durgaprasad realize that they have punished Jai too hard for all the things he has done. Banwari gets a small victory when he blows Siraj's cover. But Laxmi makes Durgaprasad see sense that religion and caste do not matter. Durgaprasad shows mercy on Siraj, giving a verdict that the cook can stay and need not put up his act anymore. However, now Durgaprasad ends up hurting Janki's feelings.
Banwari and Janki see that there is something fishy about Laxmi. Meanwhile, Siraj tries to force Laxmi to marry Durgaprasad. Siraj threatens 'her' by covering himself in kerosene, which forces Jai to reveal himself. But, owing to a misunderstanding about this scene, Banwari is able to convince Janki that Laxmi Chachi is a promiscuous woman who is seducing the cook as well as Durgaprasad. Janki, who is very hurt by the turn of events, leaves her father's home and goes to reconcile with Jai. But on seeing Ratna waiting for him, and Laxmi Chachi's clothes strewn about his home, Janki gets the wrong idea that her husband is also promiscuous. Janki goes to commit suicide. Jai/Laxmi follows on a motorcycle and jumps into the river to save her. There, Jai/Laxmi reveals his/'her' true self. Janki hears the whole story and reconciles with him. They come up with a story that Laxmi died trying to save Janki.
To tie up other loose ends, they convince Banwari that Laxmi is dead. They threaten and blackmail Banwari with his secrets to ensure his silence. They tell Haribhai to let it go. Joseph almost accidentally betrays some part of the truth, but Jai hushes up the matter by saying that Laxmi will always remain alive in the hearts of everybody who knew her. Jai and Janaki remarry.