Yashvardhan "Yash" Raichand (Amitabh Bachchan) is a rich businessman, living in India with his wife Nandini (Jaya Bachchan) and two sons Rahul and Rohan. Rahul is the elder son and was adopted by Yash and Nandini when he was first born. At the age of eight, he learns of this and as a result feels obliged to them. This truth is known to everyone in the Raichand household, except Rohan.
Years later, a grown-up Rahul (Shahrukh Khan) comes across the vivacious Punjabi-speaking Anjali Sharma (Kajol). The two become friends and eventually fall in love. However, their love is forbidden, because Anjali is from a working-class background. Yash and Nandini soon send Rohan off to a Boarding School, somewhere all the males in their family have attended. Yash announces his desire for Rahul to marry Naina (Rani Mukherji), the daughter of his closest friend. Naina learns however that Rahul is in love with Anjali, and encourages him to follow his heart. When Yash comes to know of Rahul's love for Anjali, he is enraged and hurt. Rahul promises his father that he will not marry Anjali. When he goes to tell her that he cannot marry her, he is shocked to discover that her father (Alok Nath) has died. Unable to see the woman he loves in pain, he decides to marry her despite his father's hostility. Yash learns of the marriage and is furious. He disowns Rahul, saying he no longer considers him his son. Nandini and Rahul share a tearful goodbye. Nandini sends Sayeeda (Farida Jalal), Rahul and Rohan's nanny, to watch over her son so that he will never feel apart from a mother's love. Rahul visits Rohan in the Boarding School and tells him that he is leaving home forever. He begs Rohan to never ask where he went or why he left and also asks that he take care of Nandini.
Ten years later, Rohan (Hrithik Roshan) returns home from the Boarding School. He learns from his grandmothers (Achala Sachdev and Sushma Seth) that Rahul was adopted, and the reason why Rahul left the house. Rohan vows to reunite the family. He travels to Chandini Chowk, where Anjali used to live and learns that Rahul, Anjali, and her younger sister Pooja moved to London. He tells his parents that he wishes to do some further studies in London; his parents agree to let him go. In London, Rahul is now a wealthy businessman. He and Anjali now have their own son, Krish. Pooja (Kareena Kapoor) now a popular fashion-obsessed diva, is a student at King's College London. Rohan enrolls there too. He and Pooja meet again and he tells her that he has come to London to bring his brother and sister-in-law back home. Pooja tells Rahul that Rohan is her friend's brother who currently has nowhere to stay. After some persuasion, Rahul agrees to let Rohan stay. Rohan constantly drops the family hints as to who he is. At Krish's school function he leads his class in singing the Indian National Anthem. Later, Krish recites advice which Rohan had given him. Rahul had given Rohan this advice ten years back, so he now realises that he has been reunited with his brother all this time.
Rohan begs Rahul to come back home, but he refuses as he believes his father will never accept him. Pooja convinces Rohan to invite his parents to London and have them meet Rahul, hoping this will encourage them to patch things up. Rahul and Nandini are overjoyed to see one another, however Rahul still refuses to talk to his father. Yash learns about Rohan's true intentions and is livid. Soon, Yash receives a phone call and learns that his mother is on her death bed; her last wish being for Yash, Rahul and Rohan to light her funeral pyre together. Although Yash does not want this, all the family attend the funeral together. Nandini now plucks up the courage to tell Yash that she thought he was wrong for disowning Rahul, whom he had brought up with so much love. Rohan and Pooja now talk to Rahul and convince him to talk to Yash. Yash now acknowledges his mistake and shares tearful greetings to Rahul and allows him and Anjali to come back to the house. With the family reunited, Rohan and Pooja get married and the family also have a belated celebration of Rahul and Anjali's wedding.