I mean come on man! Haad Hoti hai! First I was expecting when I'd write Jab We Met title that it's rating are definable 8.5 or 9. Not less than that. However, checked and it was a mere 7.9. Come on guys! This is heights. Aditya Kashyap (Shahid Kapoor) is a wealthy industrialist struggling with his business and personal life. With his company in a bad condition and his girlfriend marrying another man, he becomes depressed and wanders aimlessly until he boards a train, wanting to get away from his life. Inside, he meets another passenger, Geet Dhillon (Kareena Kapoor), a bubbly, talkative Sikh girl. Irritated by her talkativeness, he lashes out at her, but she thinks nothing of it, understanding that he is upset.

When Geet sees that Aditya has gotten off the train, she disembarks to let him know the train is leaving but ends up missing it herself. Aditya reluctantly helps her get to the next station but Geet misses the train again. Now stranded, she announces to the exasperated Aditya that she won't leave him alone until he drops her back home and the duo embark on a road trip to reach her house in Bhatinda. During the trip, they bond and Aditya begins to feel better, enjoying himself with Geet. At her home, he meets her large family, who shower him with affection for taking care of Geet and make him stay for a week. After her family tries to get Geet engaged to someone else, she decides to run away, as she has already confided in Aditya about the man she loves, Anshuman (Tarun Arora). Sure that her family wouldn't agree to their marriage, her plan is to run away, marry Anshuman, then come back and beg for forgiveness. That night, the two flee, and her enraged family assumes she has eloped with Aditya. The two head to Manali, where Anshuman lives. She tells Aditya to come meet Anshuman with her, but Aditya, now in love with her, bids her farewell.

Nine months later, Aditya's company is now a lot more successful and Aditya is more positive about life, having been influenced by Geet. He launches a calling card in Geet's name, which her family sees on TV. Believing Geet and Aditya are together, her uncles angrily confront Aditya, revealing that Geet has not contacted them for nine months and they have no idea where she is. Baffled by this revelation, Aditya promises that he will bring her back. He travels to Manali to meet Anshuman and discovers that Anshuman coldly rejected Geet the day Aditya dropped her off at his house.

Having learned that Geet is in Shimla, Aditya travels there and is shocked to find her as a depressed and quiet schoolteacher. He cheers her up by making her call Anshuman and swear at him, taking out all her anger. Guilt-ridden, Anshuman asks to get back together. Geet reluctantly patches up with him after Aditya advises her, though she is visibly distressed. The three of them drive back to Bhatinda and to their shock, Geet's family welcomes Geet and Aditya as a couple since they believe the two eloped, taking Anshuman to be Aditya's friend. Geet sees how Aditya and her family get along while Anshuman is rather standoffish and annoyed by them. She gets a chance to tell her mom the truth about Anshuman but can't bring herself to do it. The preparations for their wedding begin.

The next day, Anshuman explains to Geet how the two of them will go tell her family about him and remove Aditya from the picture. As an oncoming train drowns out his words, Geet has an epiphany - she loves Aditya and he is the one for her. She runs after Aditya, who is leaving, and declares her feelings and the two finally unite. They get married and have twin daughters.