Karan Rana (Sohail Khan) and Bindiya (Nauheed Cyrusi) are childhood friends and live with Karan's brother Arjun Rana (Sunny Deol), a very powerful and wealthy gangster. Arjun was actually adopted from the poor slums as a young boy by Suraj Rana and Karan is Suraj’s real son and Bindiya, the daughter of one of Suraj’s former colleagues. After both fathers passed away, Bindiya was adopted into Arjun’s household and he looked out for both her and Karan while growing up. Now, Karan's feelings for Bindiya are more than just of a friend; however, she is unaware of his feelings and falls in love with Saahil Mishra (John Abraham) gradually. Saahil comes from a low class society in the same slums that Arjun once grew up in and attends the same college as Karan and Bindiya.
One day, Karan sees a love letter by Saahil to Bindiya and tears it up. His friend Rony (Apoorva Agnihotri) humiliates Saahil about falling in love with Bindiya and being so poor. Saahil gets angry and tries to kill himself. However, when Saahil's brother Sanjay "Sanju" Mishra (Sunil Shetty), who is a car mechanic, finds him unconscious and badly wounded, he cannot control his anger and goes looking for Rony. However, when Sanju gets to the college, he sees Karan sitting down, wearing Rony's jacket with his name on the back, and starts beating him up in public. Karan is hospitalized when Sanju finds out that he has beaten Karan and not Rony. Arjun wants to seek revenge against Sanju for badly beating up his younger brother. However, Arjun is unaware of Bindiya's feelings for Saahil and Karan's for Bindiya. Saahil advises Sanju to give up his violent ways. Sanju hands himself to Arjun and gets badly beaten up by his men. Saahil apologizes to Sanju and decides to leave Bindiya.
One month later, Saahil starts working in a cafe. Bindiya tries to meet Saahil every day, but he escapes every time, but soon, Bindiya and Saahil fall in love again. Sanju also approves of her. Meanwhile, Karan returns from the hospital and decides to meet Arjun and tell him about his love. Arjun is happy to know that Karan is in love with Bindiya. That night, Rony challenges Saahil for a fight. Saahil beats up Rony brutally.
Meanwhile, Karan proposes to Bindiya at a derelict church where she believes that a party for his recovery is held. But this is just a ruse as he only arranged it for him and Bindiya only along with a bunch of presents and cards inside. She tells him that she considers Karan as a best friend but loves Saahil. Karan becomes furious. After beating Rony, Saahil takes his gun to kill Karan. Sanju enters Arjun's bungalow to tell Arjun about Karan's reality. He beats up all his goons. Arjun cannot control his anger and starts beating up Sanju. Rony then comes to Sanju's aid and confirms the truth about Karan to Arjun. Karan's love turns into a deadly obsession, and he forces Bindiya to marry him on the spot. Saahil then reaches there, and eventually, a dangerous fight ensues between Saahil and Karan. Karan hits Saahil repeatedly with an iron rod in the face and knocks him unconscious. Arjun comes there to rescue Bindiya and talk to Karan. Karan shoots Sanju's arm, while Saahil regains consciousness. Karan is just about to shoot Bindiya and Saahil, but Bindiya tells Karan that she hates him because of his actions. Arjun shoots Karan with tears in his eyes, while the latter dies on the spot. Arjun takes Karan's body to the church and is heartbroken and guilt-ridden that he did not want to kill his brother, despite being wrong. Saahil, Bindiya, and Sanju apologise to and pacify Arjun, saying that he was not wrong but Karan was.
Rahman reused three songs from his earlier film, Rhythm, with only four new songs composed, due to a lack of time. The songs of Rhythm were inspired from the 5 elements of the world. Rahman did not compose the background score, for which Aadesh Shrivastava took over, since he was busily involved in several other projects. This makes Lakeer Rahman's only Hindi film project to date featuring him solely on the soundtrack, excluding capacity duties as a guest composer for the 2018 biographical drama Sanju.
Originally, "Paighaam" was supposed to appear in the Tamil film Rhythm but was cut due to cancellation of the Hindi dubbed version's release.
NowRunning gave the film 2 out of 5 stars, "Regrettably the scriptwriter goes back to every mafia movie you've seen from Scarface to Vaastav to Gang without bothering to put a fresh spin into the genre".[5] Planet Bollywood gave the film 7 out of 10 stars, praising the cast performances but criticised Sunny Deol's overshadowment in the second half.[6]