The movie starts with Aisha Verma (Shraddha Kapoor) calling her husband and leaving a message for him. A mysterious man in a hood breaks into her house, murders her with a screwdriver, and throws her out of the window. At her funeral, CBI officer Aditya Rathore (Shaad Randhawa) points out to the police that it is vital to track down the murderer or else Guru (Sidharth Malhotra), Aisha's husband, would go on a killing spree. Here Guru's background is shown in flashbacks, along with how he meets Aisha. Guru, in the past, was a ruthless killer working for gangster Caeser (Remo Fernandes), in Goa, after he joined Caesar's group following Caesar's audacity to give Guru a chance to murder the goons who killed his parents. He gets arrested for killing a young man, but ultimately gets bailed, as the man's mother, a witness, refuses to testify against Guru. She, however, warns Guru that one day God would make him pay for his crimes and he will also end up losing a loved one.
Guru meets Aisha, a free-spirited girl in love with life, who requests him to help her with reuniting two aged lovers. They soon become friends and Aisha reveals to him that she has a terminal illness, and tells him about her bucket list. Guru helps her fulfill most of those wishes but her health deteriorates. They fall in love and get married. He tries every means to save her. She receives treatment in Mumbai and miraculously recovers. Few days later she discovers she is pregnant but the doctor tells her that she might die while delivering the baby. She conceals this fact from Guru. In a parallel story, Rakesh Mahadkar (Riteish Deshmukh) is an unsuccessful and henpecked man who is constantly nagged and ridiculed by his wife Sulochana (Aamna Sharif) for being useless and poor. He vents out his frustration by murdering women who speak rudely to him, and Aisha turns out to be one of them.
In present day, Guru aims to track down Aisha's killer. After finding out that it was not Caeser behind the murder, he finally tracks down Rakesh, while he is assaulting another victim. Guru beats Rakesh brutally but later admits him to a hospital and pays for the expenses, intending to return. While at the hospital, Guru finds out that Aisha was pregnant which makes him angrier. While assaulting a nurse who had earlier spoken rudely to him, Rakesh is again intercepted by Guru who almost kills him, but revives him again after delivering an adrenaline shot and sets him free. Meanwhile, the police finds out the truth about Rakesh and takes his wife for questioning. Rakesh realizes that Guru is Aisha's husband as she had begged him not to kill her by saying that she is pregnant and Guru is taking revenge.
Rakesh, who now knows Guru's identity, taunts him over the phone before killing Aisha's father, and then surrenders to Aditya. Rakesh expects Guru to kill him so that he would become a "hero" in the eyes of his wife and everyone else, while Guru would become a "villain". However, Caesar calls Guru at that moment and says that he has killed Rakesh's wife and asks Guru to finish off his son. Enraged, Rakesh injures Guru and is about to kill him when he is run over by a car and dies on the spot. Guru later adopts Rakesh's son instead of killing him, and completes the remaining wishes on Aisha's bucket list.