Raj Khanna (Hrithik Roshan), Pooja Sahani (Rani Mukerji) and Tina Kapoor (Kareena Kapoor) are childhood friends. While Raj has always been attracted to the vivacious Tina because she is beautiful, he is completely unaware of the quiet Pooja's love for him.
Raj's father (Kiran Kumar) decides to move to England with his family to take up a new job. Before leaving, Raj makes Tina promise to write to him via e-mail. But Tina soon becomes occupied with other things, so it's the loyal Pooja who writes to Raj with Tina's name to help Tina keep her promise. Raj and Pooja have many things in common, and their e-mails bring them close to each other. A decade and a half later, Raj returns to India for a short vacation. By now, he's in love with the girl he has been writing to, and believes he can recognize her at first sight.
When the three of them finally meet, Raj, to Pooja's disappointment, completely ignores her and is besotted with Tina, who is as vivacious as ever. However, during the two weeks of his vacation, he cannot help but notice that the real Tina is completely different from the Tina he knew from the e-mails. He also starts to like Pooja, without realizing she is the one he is really in love with.
He returns to London, where Pooja coincidentally arrives for an interview, and there he discovers that Pooja was the one who had been writing to him all those years. They confess their love for each other and decide to get married, but fate plays an unexpected trick on them. Back in India, Tina's father (Sachin Khedekar) has died, leaving Tina alone in the world. By now, she is in love with Raj as well.
Pooja now refuses to marry Raj, as she does not want to break Tina's heart. Raj's parents also agree to the marriage, but Raj wants to tell them that he really loves Pooja. Pooja, however, still refuses to marry Raj and so he angrily vows to her that he will only marry Tina if Pooja marries someone else on the same day.
Enter a friend of Raj, Rohan Verma (Uday Chopra). Rohan is greatly attracted to Pooja and the families are all for the match. Pooja bows to the inevitable and agrees to marry Rohan on the same day as Raj and Tina. That way, she hopes to satisfy Raj's condition and ensure Tina's happiness. Rohan realises that Pooja does not love him, but keeps up the charade nevertheless. On the day of the marriage, Tina realises that Raj is really in love with Pooja, so she gives him up and finally Pooja and Raj get married.