The film opens showing a large crowd outside the famous Verona Arena, Italy, with eager fans queuing outside the arena for the concert of rock star Jordan (Ranbir Kapoor). Jordan, who moments ago was being attacked by thugs, manages to escape and reach the arena. He breaks the fan barriers and shows complete disregard for his fans, storms onto the stage in a fit of rage and starts strumming his guitar.
The movie goes into flashback to the story of Janardhan Jakhar a.k.a JJ, a simple Haryanvi boy from Pitam Pura, Delhi, who yearns to some day become a big star. His dreams are, however, only a source of amusement and jokes for his friends. Khatana, the canteen owner (Kumud Mishra) where JJ frequents, tells him that the only way JJ can produce melody is if he undergoes trauma via a heartbreak.
Janardhan jokingly tells himself that since he hasn't seen bad times, he hasn't been able to reach his idol's (Jim Morrison) level of fame, and he needs to do something about it. JJ and his friends go to a performance of Heer Kaul (Nargis Fakhri), one of the most beautiful girls in Stephen's College, where JJ overhears that Heer is the "perfect heartbreaking machine". Janardhan instantly decides that proposing to her (and being humiliated in the process) is the perfect method to receive the much needed "heart-break" and the key to "fame". That doesn't quite happen though, but in the ensuing process, they both become good friends, hanging out together and doing naughty things together (like drinking desi liquor and watching a sleazy B-grade Hindi movie called "Jungli Jawaani").
The focus then shifts to Heer's wedding in Kashmir, after which Heer and her husband (Moufid Aziz) are set to depart to Prague. During the wedding preparations, Heer develops feelings for JJ, but does not confess to him. Before leaving, she coins the name "Jordan" for JJ. Janardhan returns to his life back home, however, life takes an ugly turn when JJ is clobbered and thrown out of his house by his elder brother for attending Heer’s wedding and for stealing 5 lakh. JJ takes refuge for two months in the nearby Nizamuddin Dargah, singing qawwalis, then grows weary and shifts to a local temple where he spends some time singing bhajans. Losing interest from all of this, he requests and takes refuge in Khatana's home.
Ustad Jameel Khan (Shammi Kapoor), a renowned classical artist and a Padma Bhushan, remembers having seen and heard JJ singing at the Dargah and prompts Dhingra (Piyush Mishra), the owner of a music company called "Platinum Records", to sign JJ as he foresees a great future for him. (there is no mention in the film that Ustad Jameel Khan is a singer, just a renowned classical artist). Sheena (Aditi Rao Hydari), a journalist interviewing Jordan as a rockstar, hints Jordan that Dhingra intends to send some artists to Prague for a tour and recordings, Jordan instantly volunteers to work there in order to reunite with Heer.
Heer, meanwhile, has been having health issues for some time now and has been regularly visiting a psychatrist for treatment. Jordan and Heer finally meet and after a while of intimacy, Jordan tries to profess his love for her, but Heer, being married, spurns his advances. Despite Heer's warnings to Jordan asking him to stay away from her, Jordan decides to say "bye" one last time before departing for India. While doing so, Jordan trespasses on Heer’s property and is arrested by cops and deported back to India. Jordan, upon being brought to India, is overwhelmed by the media attention and him being painted in a negative light. Frustrated, Jordan clashes with the media and the Indian Police and is sent to jail. Dhingra becomes happy about the publicity he has received because of Jordan, which has helped sales of his records.
During one of his live performances, Jordan meets Mandy (Heer's younger sister) who asks him to help Heer, who has been diagnosed with terminal bone marrow cancer. Jordan disregards all his work-related commitments and immediately leaves to meet Heer. Heer's mother, Neena Kaul , who knows about Jordan's past with Heer, gets angry and asks Jordan to leave her house. To her and their family doctor's surprise, Heer starts quickly recovering due to Jordan, so they fly back from Prague to India. On reaching India, Jordan again clashes with the media as they link him with Heer, portraying her as having an affair with Jordan despite being married. Heer convinces Jordan to first finish his work and then come to meet her, so she and Mandy go back to her Mother's place. However, Heer's condition worsens as she slowly slips into a coma, and Heer is discovered to be pregnant with Jordan's child. Mandy calls Jordan one last time hoping that she will recover, but she doesn't.
The film ends as it started: with Jordan performing "Nadaan Parindey", and he envisions Heer's spirit having flown to him.