Naina Talwar (Deepika Padukone) is a shy and nerdy medical student. She studies constantly and always tops her classes, but she feels like an outcast due to her introverted nature. An encounter with an old classmate, Aditi Mehra (Kalki Koechlin), makes her realize that she wants more from life than high marks. Thus, she makes an impulsive decision to follow Aditi on a hiking trip into the Himalayas, up to Manali without informing anyone. During the hike, she renews her friendship with other former classmates, Kabir "Bunny" Thapar (Ranbir Kapoor) and Avinash "Avi" Arora (Aditya Roy Kapur). Kabir is a handsome charmer whose dream is to wander and discover the world. He does not plan to marry or settle down. He lives with his supporting father (Farooq Sheikh)whom he loves very much, and his step-mother. During their trip, seeing Aditi's silent reactions to Avi's constant flirting with other girls, Kabir and Naina realize that she is secretly in love with Avi, but do not bring the matter to surface.
In the course of the mountain trek, Kabir and Naina come closer to each other. Kabir teaches Naina to laugh, to play, and more importantly, to love. At the end of the trip, she is close to telling him that she is in love with him, but is interrupted by Avi. He accidentally finds a letter accepting Kabir into a graduate school in journalism, at Northwestern University in Chicago. Kabir explains that the trip is his last hometown adventure before he leaves. He is sad to leave his friends but happy to start a career that will lead to travelling, which he dreams of, and thus wanted to bring them along to Manali to give them a surprise. Naina realises that love and marriage have no part in Kabir's plans and remains silent about her feelings but is happy for him as he is following his passion.
Eight years pass with Naina finishing medical school and working in a clinic while Kabir works as a videographer for a travel show on FOX network and travels the world, as he had planned. It is shown that Kabir's father has died and due to Kabir's job in remote areas, he was not able to attend his last rites. Naina has moved ahead in life and is not waiting to meet Kabir, but they meet in Udaipur, for Aditi's lavish wedding to Taran (Kunaal Roy Kapur), an awkward but sweet engineer. At the wedding, Kabir and Avi renew their lost friendship.
Naina and Kabir are strongly attracted to each other again. Both resist love – Kabir, because he is not able to figure out that he is in love with Naina and Naina, as she doesn't want to get her heart broken again. A day before the wedding, Kabir sees Naina with another man, Vikram (Rana Daggubati), who is the wedding photographer. He is Naina's friend, but Kabir assumes him to be her boyfriend, feels jealous and argues with him, finally sending him away. Kabir and Naina meet, argue, and reveal their feelings by a kiss. Yet neither of them is willing to give up a career to follow the other. It seems that their romance is over. Kabir also confronts Aditi on her past crush on Avi. She admits that she had feelings for Avi but says that she has gotten over him and is extremely happy with Taran. Kabir leaves for home on the night of Aditi's wedding and will leave for Paris three weeks later for his dream job as a travel show host. On New Year's Eve, as Naina sits alone at home along with her dog, someone knocks on her door and it's Kabir. He surprises her with a kiss. He has turned down his dream job to be with Naina and proposes to her, but Naina fears that he might regret his decision in the future. However, Kabir says that he is happy with Naina and wants to continue travelling but with her. He argues that somehow they can make a life together. Naina agrees. Kabir and Naina then get engaged and finally declare their love properly for one another. They have a conference call between Aditi and Avi. Avi is at his bar which is closing and Aditi is at the airport as a newlywed leaving for her honeymoon to Greece with Taran. The friends find out about Kabir and Naina and are overwhelmed. Aditi states that she always kind of knew about the sparks between them. They all wish each other a Happy New Year and the film ends with Kabir and Naina smiling and embracing each other.