The illegal drug trade based in Kuala Lumpur, Malaysia is booming. A team headed by Deputy Commissioner of Police De Silva (Boman Irani) is sent to the city to target the operations of Singhania (Rajesh Khattar) and capture his manager, Don (Shah Rukh Khan). Singhania is one of the two lieutenants of a deceased kingpin, known as Boris; the other is Vardhan, whose whereabouts are not known.
After Ramesh (Diwakar Pundir), one of Don's close associates, decides to leave the gang, Don kills him. Later, Ramesh's fiancée Kamini (Kareena Kapoor) decides to help the police, but Don kills her too. Planning to avenge her brother and sister-in-law, Roma (Priyanka Chopra) infiltrates Don's gang. Don is injured and falls into a coma while trying to flee from the police. De Silva finds a look-alike named Vijay (also Shah Rukh Khan) and asks him to join his mission so the police can get close to Singhania. Vijay agrees when De Silva promises to admit Deepu (Tanay Chheda), a boy Vijay looks after, to a school in Kuala Lumpur. Meanwhile, Jasjit (Arjun Rampal), Deepu's father is just released from prison. He plans to kill De Silva to avenge his own wife's death.
Vijay is admitted to hospital, where Dr. Ashok Gilwani gives him scars identical to Don's. When Don suddenly dies, the masquerade begins. Vijay, posing as Don, joins the gang in Kuala Lumpur. De Silva asks Vijay to find a computer disc containing details about the drug cartel and bring it to him. When Vijay finds it, Roma attempts to kill him, but De Silva intervenes and tells her about his plan and Don's real identity and she agrees to help him. Vijay hands over the disc to De Silva.Later Vijay informs De Silva that the entire gang is going to assemble at one place. When the police arrive, De Silva murders Singhania and the police arrest Vijay. De Silva is killed in the shoot-out, which is unfortunate for Vijay because De Silva was the only person who could prove that he is not the real Don. Having discovered his true identity, Don's associates turn against Vijay and the group engage in a fight. Vijay escapes and meets with Roma to recover the disc and prove his innocence.
Meanwhile, Jasjit enters De Silva's apartment to wait for him and finds the disc. He receives a phone call saying that if he wants to see his son again, he will have to bring the disc to the men who are holding Deepu hostage. When he meets them, he learns that De Silva has been alive all along and is actually Vardhan, who was using Vijay to get close to his competitor. Later, Jasjit engages in a combat with Vijay but Deepu interrupts him, telling him about Vijay, who has been his guardian in Jasjit's absence. Jasjit teams up with Vijay and Roma and shares information about Vardhan's real identity. They come up with a plan. Jasjit arranges a meeting with Vardhan, but the trio have informed the Interpol.
In a combat, Vijay overpowers Vardhan and is about to kill him but is interrupted by Inspector Vishal Malik (Om Puri), who pleads with him to leave Vardhan, who is arrested. Vijay is acquitted, and Roma confesses her love for Vijay when is about to be taken to the hospital. After Vijay calls Roma a "Junglee Billi" ("Wildcat") and the van takes Vijay away, Roma realise that he is actually Don as he had given her that nickname and informs Malik.
It is revealed that the real Don is alive, and was pretending to be Vijay the whole time. While in the hospital, Don had recovered quickly from his injuries, and had overheard Vardhan's conversation with Vijay. After Vijay's operation, Don had gotten up from the room at a moment when Vardhan and Dr. Ashok were absent and gone to the room where Vijay lay. He had switched places with Vijay and taken Vijay off life support, causing him to die. It is also revealed that the disc Don had given to the police was fake. Now, with both Vardhan and Singhania removed from his path, Don becomes the master of the entire Asian drug dealing ring. Don reconnects with Anita (Isha Koppikar) at the airport and says half of his popular dialogue, "Don Ko Pakadna Mushkil Hi Nahi...." as the screen cuts to black.