The film opens in the Namib Desert. Mr. A (Hrithik Roshan) skydives onto a train that is carrying the Queen. He steals her crown by disguising himself as the Queen, beats her guards easily, and escapes.
Newly promoted officer Ali Akbar Khan (Uday Chopra) and Jai Dixit (Abhishek Bachchan) are introduced to Shonali Bose (Bipasha Basu), a special officer assigned to investigate Mr. A’s case, who also happens to be a former classmate of Jai. After the initial investigation, Dixit analyses the underlying trend in Mr. A’s heists. He concludes that the theft will follow in one of two famous Mumbai city museums.
When Dixit realizes that the artifact in the museum he is guarding happens to be imperfect, he rushes to the other museum, where a disguised Mr. A steals a rare diamond and escapes. While he is about to catch a flight, Mr. A sees on the TV that someone else claiming to be himself, challenges the police, saying that he will steal an ancient warrior sword. In response, Dixit, Bose, and Khan enforce a strict guard at the location of the sword. At night, Mr. A meets the real thief, the one who made the claim on TV, in the room that holds the sword. The police are alerted, but they manage to steal the sword, Sonali is injured in the confrontation and they manage to escape. The impersonator turns out to be Sunehri (Aishwarya Rai Bachchan), a woman who idolises Mr. A; Sunehri convinces Mr. A to form an alliance but he turns her down. Later, after a game of basketball between the two, he finally agrees to work together.
In Rio de Janeiro, Mr. A and Sunehri plan their next heist. As Dixit’s analysis has named Rio the location of Mr. A’s next heist, Jai and Ali travel to the city. There they meet Monali (Bipasha Basu), Shonali’s twin sister, and Ali immediately falls for her. Later Sunehri meets with Jai to discuss how things are going between her and Mr. A, revealing that they are working together, and Jai is using her by ensuring her freedom from prison. To get close to Mr. A and find out what his next plan is so they can catch arrest him, but Sunehri begins to have her doubts.
Meanwhile, the relationship between Mr. A and Sunehri evolves into romance and he unveils his real identity, Aryan, to her. However, during the Rio Carnival, disguised as one of the entertainers, he sees Sunehri and Jai together and realizes that Sunehri has been working undercover for Jai. The next day, Aryan forces Sunehri to play a game of Russian roulette. Sunehri cries and refuses to shoot him, but Aryan forces her to play. After six attempted shots, neither is killed, because Aryan never loaded the gun. Sunehri admits she betrayed Aryan and confesses her love for him. In their final heist, Aryan and Sunehri successfully steal some early Lydian coins while disguised as performing dwarfs. With the heist successfully pulled off, Jai realises that he has been betrayed and she phoned him to confirm that she wants to stay with Aryan and does not wish to remain allied with Jai, forcing Jai and Ali to go after them. After the chase, all of them end up on the top of a waterfall, where Ali catches Sunehri. Sunehri, despite conveying her feelings for Aryan, shoots him. Aryan falls from the waterfall, after which Jai allows Sunehri to go free.
Six months later, it is revealed that Aryan survived and has opened a restaurant in the Fiji islands with Sunehri. Jai meets Aryan and Sunehri at the restaurant and states that despite their crimes, he does not wish to imprison the couple. Aryan tells him where all the stolen artifacts can be found via a memory stick. Jai is aware of the couple’s feelings towards each other but warns them against returning to their life of crime.
After leaving, Jai receives a phone call, and informs Ali that they should be heading back to India for their next case, which is shown on Dhoom 3.
Hrithik Roshan as Aryan/Mr. A
Abhishek Bachchan as Jai Dixit
Aishwarya Rai as Sunheri
Uday Chopra as Ali Khan
Bipasha Basu as Shonali Bose/Monali Bose
Rimi Sen as Sweety Dixit (cameo appearance)