Aditya Kashyap (Shahid Kapoor), the demoralized son of a famous industrialist, gets even more depressed after attending the marriage of the girl he loves to another. Feeling ashamed to face the world, he walks out of the marriage gathering and boards a train in the night. While on board, he meets Geet Dhillon (Kareena Kapoor), a beautiful, talkative girl who is leaving Mumbai to go to her hometown - Bhatinda (Punjab).
Initially, Aditya finds Geet to be very irritating and every meeting becomes mental torture for him. She discloses big plans to him of eloping with her boyfriend Anshuman (Tarun Arora) as she fears resentment from her parents. Geet irritates Aditya to the point of getting him to leave the train. As she tries to get him back on the train, she ends up missing it and the two find themselves stranded on a desolate station with no luggage or money. Geet confronts Aditya and tells him that he is now responsible for getting her safely to her house in Punjab. Both of them begin an idyllic journey through the exuberant North Indian heartland, and make their way through buses, taxis and camel-carts to reach her house. Aditya, through spending so much time with Geet, begins to feel good about life again.
On arrival, Geet's family (Pawan Malhotra, Dara Singh and Kiran Juneja) mistakes the two for lovers, but the two quickly assure Geet's family that there is nothing of the sort going on between them. Aditya tells her family he is a musician to avoid being recognized as the famous industrialist, and her family accepts this. A few days later, Geet's family find a suitor for her that will be arriving to ask for her hand in marriage. While he is there, Geet leads the suitor to believe he witnesses an intimate moment between Aditya and Geet, making Geet achieve what she wishes (her suitor to leave). Later that night, Geet runs from her home along with Aditya to marry Anshuman in Manali. However, Geet's sister finds them running away together and informs the entire family. They hurriedly make their escape, but this confirms the suspicion in Geet's family that they are lovers. The two escape to Manali and then part their separate ways.
Upon returning to Mumbai with a new conviction and positive outlook on life because of Geet's influence, Aditya guides his company to extreme success. Around nine months after his arrival, he launches a new product, a calling card by the name of "Geet". Geet�s family sees this launch on TV and runs to Mumbai to meet Aditya. Aditya is shocked to hear that Geet has not returned home. He takes it upon himself to find her and return her to her family.
Aditya returns to Manali where he expects her to be with her new husband but finds that Anshuman had turned her out to the streets and refused to marry her. After saying a few spiteful words to Anshuman for what he did, Aditya leaves to find Geet. He finally tracks her down in Shimla, a Himalayan town and is traumatized to see what she has become: a quiet, reserved and miserable girl who teaches at a school. Convincing her to face her circumstances, he manages to bring her back to Mumbai and things start to look up for her again. However, Anshuman arrives and exclaims that he has realized he was a jerk and tries to patch up their relationship. Initially, Geet does not think she will accept his apology but Aditya pushes her to accept it and be with him even though he loves her too. All three then travel back to Bhatinda to bring Geet back and to announce that Geet and Anshuman are involved. Back in Bhatinda, the family again assumes that Geet and Aditya are together and in all the confusion there is no chance to right the family's misconceptions. While trying to clear the misconception, situations make Geet realize that she is in fact in love with Aditya, not Anshuman, and therefore, both of them get married.