The movie opens with a woman Vasudha (Vidya Balan) stepping off a bus. An elderly man, Hari, sees a psychiatrist about hallucinations of his wife. His daughter-in-law takes him to his wife's funeral. There, he steals her ashes and leaves a diary for his son. The story jumps to the past, where Vasudha is a single mother whose husband has been missing for five years. Bound to tradition, she has been waiting for him since he left her. Vasudha meets Aarav Ruparel (Emraan Hashmi) in one of his hotels, where she works as a floral arranger. Vasudha comes to save him in a mock fire drill, and he offers her a job in his hotel in Dubai, which she refuses at first. However, she later gets to know from police that her husband Hari (Rajkumar Rao) murdered five American journalists and is a member of a terrorist group. Worried for her son's future, she accepts the job offer given by Aarav. Despite knowing about Vasudha's past and her son, Aarav f
alls in love with her. He tells her about his mother, who was a cabaret singer and a single parent, and how she fell in love with a man who tried to commit suicide for failing to save them from poverty. Vasudha shuns his feelings, saying that she belongs to someone else. At his request, she meets Aarav's mother and finally accepts Aarav's love. Vasudha encounters Hari at home, and tells him about Aarav. Hari storms out in anger and is arrested and jailed for being a wanted criminal. Vasudha asks Aarav to save Hari as he is innocent. Aarav tries to save Hari by bribing the home minister, but he reveals that Hari himself admitted to his crime. Vasudha refuses to marry Aarav because Hari's action tells her that he sacrificed his life for them to be together. It is then revealed to Aarav that Hari deliberately accepted his crime so that Vasudha will live in guilt, thinking Hari sacrificed himself for their love. In order to free Vasudha out of her guilt, Aarav travels to Bas
tar, where Hari is accused of killing, to prove his innocence. Aarav meets Father Dayal, who reveals Hari's innocence. On the way back to Mumbai, Aarav smells the scent of the flowers that caused him to meet Vasudha. Following the scent, he goes into the jungle, not knowing that the place has mines. He accidentally steps on one of the mines. Realizing his predicament, Aarav smiles just before taking his foot off. Vasudha receives the news of Aarav's death and leaves Hari, who searches for her for two years. After finding her, she reveals to him that she knows about his fake sacrifice and tells him that she is not afraid of any tradition. He warns her that she will come back to him one day. Hari waits for Vasudha twenty-one years in vain. Back in the present, the old woman from the bus, Vasudha, wants to be reunited with Aarav where he died. Hari takes Vasudha's ashes to scatter them in the forest of Bastar, where Aarav died. Thus, Aarav and Vasudha reunite after death.