Balraj Kapoor (Amitabh Bachchan) is a rich businessman, happy and content with his world. He and his wife Shobhna (Hema Malini) live happily together and they wait for their only son Avinash a.k.a. 'Avi' (Salman Khan) to return from his studies in the United States. After an absence of 7 years, Avinash comes back to India. He reunites with his parents at the airport and races home. Back home, Avi joins his father's business.
One day, they decide to go golfing and Balraj accidentally hits the ball which ruins a painting. The young woman painting the picture, Malvika a.k.a. 'Millie' (Rani Mukerji) gets furious with Balraj and leaves. Later on, Avi runs into Millie on the golf course, and they start to talk. Millie tells him that a stupid old man ruined her painting and points out that it was Balraj; but she doesn't know that the 'old man' is Avi's father and he doesn't tell her. They start to hang out together while slowly falling in love with each other.
When Millie comes home, she is visited by her childhood friend Rajat (John Abraham). She tells him that she loves someone, which devastates him because he is also in love with her. One day, Millie goes to Avi's office to drop off a painting and finds out that Balraj is Avi's father. When Avi shows up, she leaves the office crying. He chases after her and says that the only reason he lied to her was because he loves her. She doesn't accept his apology right then, but when Balraj apologizes to her for ruining her painting, she forgives them both.
Avi asks Millie to get dressed up for a party at his house. When she arrives, there is no one except Avi. He proposes to her and she accepts. The whole family visits Millie's house to discuss marriage and everyone agrees, except Rajat. He tells Avi that he'll let him marry her if only he promises to always keep her happy and never let her get sad. Avi and Millie get married and soon they're expecting a child. Time goes on, Millie's water breaks while in yoga class and Avi and she flee to the hospital where they are blessed with a healthy baby boy.
Their child Ansh grows up to be a sweet and intelligent boy. The family throws a birthday bash for Ansh and wait for Avi who is in a meeting. But Avi never arrives home. He is involved in an accident and dies. Millie is devastated.
Balraj seeks to bring happiness back into Millie's life and gets into contact with Rajat. He learns that Rajat still loves Millie. Balraj asks Rajat to marry Millie. However, there is stiff opposition from Shobhna and Balraj's conservative older brother Balwant (Om Puri). Shobhna fears losing her grandson Ansh, while Balwant thinks a widow's remarriage is a sin.
However, Balraj stands firm and convinces everyone. In the end, Rajat and Millie get married, and everything is well. Avinash comes in as a spirit and blesses his dad with happiness.