Samar Anand (Shahrukh Khan), a major in the Indian Army, defuses a bomb in Ladakh without any fear or regard for his safety. He saves Akira Rai (Anushka Sharma), a Discovery Channel filmmaker, after she dives into a freezing river on a dare drowning. Samar gives her his jacket and leaves without taking it back. Akira finds his diary in the pocket and begins reading it.
The diary recounts Samar’s earlier years as a struggling immigrant in London, working as a busker who also performs other odd jobs to support himself and his roommate Zain. One day, he sees Meera Thapar (Katrina Kaif) outside the church and is smitten by her. He is working part-time as a waiter when he meets Meera again with her fiance Roger at their engagement party. He is disheartened by this. Meera grew up motherless in an affluent Indian family. Her mother (Neetu Singh) left her family for another man (Rishi Kapoor) when Meera was twelve, which left her father (Anupam Kher) as the dominant parental figure. She works for his company. Meera approaches Samar to teach her a Punjabi song for her father’s 50th birthday and in return, Samar asks Meera to give him language lessons to improve his English for one month to which they both agree.
Samar notices that Meera often prays at church. After a night of wild street dancing, they begin to fall in love. Samar helps Meera face her past, taking her to visit her estranged mother and foster reconciliation. Meera decides to confess to her father about Samar and break her engagement, but when Samar has a motorbike accident, Meera, believing she is the cause of his bad luck, prays to God to save his life, swearing never to see him again. Samar recovers and Meera reveals the vow she made. Angry, he leaves her and London altogether, challenging God to keep him alive as he risks his life everyday. He believes his death is the only way to make Meera lose her faith in God. He goes to India and enlists in the army, becoming a bomb-disposal expert.