Tejinder "Tommy" Singh (Shahid Kapoor) is a London-bred Punjabi musician who lives a luxurious lifestyle assisted by his successful music career. Together with his ostentatious crew that is led by Tayaji (Satish Kaushik), he indulges in uncontrolled consumption of cocaine. Tommy, also known as 'Gabru', is popular for his adrenaline-pumping songs that both were written with the help of and are about intoxication. However, Tommy has no qualms about his songs glorifying violence and drug-addiction. However, his frequent bouts of drug-snorting cost him his contract and land him in jail. In prison, he meets two of his die-hard fans who remark how Tommy's lifestyle had 'inspired' theirs. Realizing that his songs have adversely and negatively affected teenagers, Tommy decides to change his ways upon release. Few days later, Tommy engages in an altercation with Tayaji and accidentally shoots him, injuring his ear. This causes Tayaji to send Tommy and his crew to a farmhouse so that he can prepare for an upcoming concert.
Working on a farm is an unnamed Bihari migrant (Alia Bhatt), frequently called "Bauria" by a co-worker in the fields, whose dreams of playing national level hockey for the country were shattered. She came to work as a slave for a local patriarchal family who use agriculture as a front for drug peddling. One night, while roaming around in the farm, she finds a packet. Upon tearing open its contents and tasting it, she realizes that it is some kind of drug, and hence, resolves to sell it. Her search for a potential buyer lands her in great trouble as she is chased and captured by a gang of drug peddlers. They forcibly keep Bauria at their place where she is sexually and physically abused, given drugs and prostituted to several men including police officers from the local police force. Some weeks later, Bauria manages to escape from the house.
In this neighboring town also lives Preeti Sahni (Kareena Kapoor), a doctor-cum-activist who runs a rehabilitation center. Sartaj Singh (Diljit Dosanjh) is a class-two policeman attached to the town's station who knows about the smuggling of drugs his seniors are allowing on a large scale. But when it affects his family, his brother, Bali (Prabhjyot Singh), overdoses on Chaand (locally-made drug) and is brought to Preeti's clinic, he realizes the grave situation. She educates Sartaj about the drug problem and partly accuses him for his brother's state. Together, they decide to find the root cause of the problem.
Appearing before his audience in the concert, instead of singing, Tommy starts preaching. Infuriated by his speech about how one should lead his/her life, his fans try to admonish him, and start throwing bottles at him. Making a run out of the concert to save himself from the crowd's angst, Tommy goes and hides inside a dilapidated structure. There he meets Bauria and together they start sharing their stories. However, the next day, Bauria is recaptured by the same gang who had kept her imprisoned.
Preeti has been working in Punjab actively with drug abuse survivors and their families. She runs her own clinic in the area where she operates a residential rehab center. With help from a reformed Sartaj who discovers that his own brother is hooked to a locally-made drug, manages to find that the antagonist behind the drug problem in Punjab is an elderly man called Vikrant who has flourished with the support of MP Maninder Brar. Sartaj and Preeti go to extreme measures to collect evidence against the Parliamentarian and put together a report to be sent to the state's Election Commission to thwart Brar's campaign for another term in power. Sartaj develops feelings for her and asks her out to which she reciprocates willingly. However, one night, after returning from work, she is apprehended and fatally stabbed by Balli, who was being treated against his wish at her rehab center. The policemen who come to investigate her murder also come across her report.
In the presence of the drug mafia, Sartaj is questioned by his senior about the report. At the same time, Tommy, who is on the run from the police and has been searching for Bauria, jumps and enters the enclosure, alerting everyone including Vikrant and the senior policeman. He fatally hits Vikrant with his hockey stick and tries to make a move upstairs. Taking advantage of the opportunity, Sartaj grabs his senior's service revolver and shoots everyone but Tommy. He then rushes inside the house to get his brother Balli, who is being held captive by Vikrant's wife. He shoots her and frees Balli, while Tommy goes upstairs and helps Bauria beat her captors. Finally, as Tommy and Bauria run off, Balli kneels down and cries in front of his brother whose face is expressionless. Later when Tommy calls Bauria on his crew member's phone to ask her real name. Sitting by a beach, she catches sight of a foreigner having fun. Inspired, she utters "Mary Jane", the only Caucasian name she knows.