A young NRI, Virendra Pratap Singh (Anil Kapoor), also known as Viren, comes to his homeland in Rajasthan, India for the first time along with his former governess, Durgadevi (Waheeda Rehman), affectionately called Dai Jaa. His late parents had migrated to London, United Kingdom long before he was born. While initially put off by the hot weather conditions and the traditional customs of the region, Viren meets the beautiful Pallavi (Sridevi) and falls in love with her almost instantly. Pallavi is the daughter of a wealthy businessman, Kothiwale Thakur (Manohar Singh), who had helped Viren's late father when his business was suffering. Viren and Pallavi become friends. However, upon noticing Viren's feelings for Pallavi, Dai Jaa indicates that Pallavi is eight years older than him, which still does not bother Viren. After losing a civil legal dispute involving his property, Pallavi's father dies of a heart attack, unable to bear the shock, and Pallavi goes into depression. Viren comes to console her at her father's mourning ceremony, only to be shocked to find Pallavi run towards her long-time boyfriend, Siddharth Kumar Bhatnagar (Deepak Malhotra), who is an airplane pilot. Viren is heartbroken, but reluctantly arranges Pallavi and Siddharth's marriage with a heavy heart and moves back to London without letting Pallavi know of his true emotions. However, in a cruel twist of fate, Viren flies down to India after learning from Dai Jaa that both Siddharth and a pregnant Pallavi have perished in a major car accident, but not before the gravely injured Pallavi gives birth to their surviving daughter, Pooja, at the hospital. Viren and Dai Jaa lament the tragic losses of Pallavi and Siddharth and a grief-stricken Viren entrusts Dai Jaa with the upbringing of the newborn Pooja.
20 years later, the now middle-aged Viren still finds it difficult to come to terms with the past and has been visiting Rajasthan every year in the two decades for Siddharth and Pallavi's death anniversary. However, he has avoided meeting Pooja on her birthday because she was born the same day Pallavi died, and the trauma and the pain of Pallavi's death are still fresh in his mind. Viren now comes back to India this year for the ritual and is shocked to see the now grown-up Pooja (also Sridevi), a spitting image of Pallavi herself. Viren feels that destiny is playing a cruel game with him, but still invites Pooja and Dai Jaa to his residence in London. In London, Viren's childhood friend, Prem Anand (Anupam Kher), is aware that Viren's heart still yearns for Pallavi, while Viren is still trying to engage himself in other works, but cannot forget Pallavi. Anita Malhotra (Dippy Sagoo), Viren's new girlfriend in London, is deeply in love with him and is also aware of Viren's love for Pallavi and constantly tries to win his attention. During Pooja and Dai Jaa's visit to London, Anita meets Pooja and realizes how she must be a constant reminder of Pallavi to Viren. Over a period of time, Pooja becomes possessive of Viren, so Anita tries to show her the truth and make her understand that she is wrong. Pooja retorts and tells Anita that if she herself is not related to Viren, Anita is not related to him either.
Anita becomes frustrated and blasts Viren for his feelings for Pooja, telling him that he should be ashamed of having feelings for a considerably younger woman, just because she resembles her late mother, whom he loved. Meanwhile, Prem understands how much Pooja is attached to Viren since childhood, but is skeptical since Viren is still living in the past in the memories of Pallavi. However, things take a drastic turn when Pooja comes across Pallavi's portrait sketched by Viren and completely misunderstands it to be her own when it is actually of her mother. She confesses her love for Viren and confronts him over the portrait, but a furious Viren rebuffs Pooja and reveals that he actually loved her late mother, who resembled her. A shattered and humiliated Pooja tells Dai Jaa that she wants to return to India. After Pooja and Dai Jaa's departure from London, Prem strongly advises a confused Viren to confront his feelings for Pooja, pointing out the huge difference between Pallavi and Pooja.
Back home, Dai Jaa persuades Pooja to get married, and she agrees on the condition that Viren must get married first. When Dai Jaa contacts Viren to let him know that Pooja has agreed to marry once Viren ties the knot, Viren agrees to marry Anita. Upon learning this, Pooja tells Dai Jaa that she never wants to get married. Back in London, Viren, Prem, and Anita are wondering why Dai Jaa is delaying her visit for Viren and Anita's marriage. Viren and Prem decide to travel to India and give Dai Jaa a surprise. Upon arriving, Viren and Prem are shocked to learn from Dai Jaa that Pooja has vowed never to marry. The climax shows a heartbroken Pooja narrating a tragic folk tale in a village show, when all of a sudden, she becomes very excited and happy to notice Viren in the audience and lies to him about already having gotten married. However, Viren confronts Pooja for hiding the truth about her marriage from him and reveals that he actually never wanted to marry Anita, since he finally realised that he is genuinely in love with Pooja and not Pallavi anymore, who, in fact, had never had romantic feelings towards him. With neither of them having gotten married, Viren and Pooja are now free to be together.