Yash (Sanjay Dutt) and Raj (Akshaye Khanna) are small-time crooks and childhood buddies. Raj wants to lead an honest life, but Yash always manages to do something that jeopardises Raj's chances of turning over a new leaf. When Yash robs the First Village Bank, the innocent bank manager, Zandulal (Paresh Rawal), gets blamed, because he had sheltered Yash and Raj under his roof. Zandulal finds out that the two crooks fled to Durban and begs the bank chairman for time to look for the two and prove his innocence.
In Durban, diamonds worth millions have been stolen from the International Diamond Centre by an underworld gang led by Marcos (Sunil Shetty). Senior inspector Arjun Singh (Anil Kapoor) is determined to catch Marcos and his gang. Arjun is married to Kajal (Sushmita Sen), the daughter of the commissioner of the police (Shakti Kapoor). Kajal has a split personality – she's a loving wife and mother, who for 10 minutes every day transforms into a terrifying troublemaker, intent on murdering her husband.
Yash and Raj try to avoid Zandulal, who does not realise that they are his neighbours. Raj falls in love with Sanjana (Kangana Ranaut), Kajal's younger sister. He pretends to be arrogant, wanting her to think that lots of girls are crazy for him. After he confesses, however, they plan on getting married. At the engagement, Zandulal encounters Yash and Raj, threatening to expose them unless they return the money they stole from his bank. Cornered, Raj and Yash agree to commit one last robbery. They rob a minister's house, minutes before Marcos arrives. The minister is tortured and killed, because Marcos cannot find the stolen diamonds.
During Sanjana's marriage with Raj, Arjun, with Kajal's father, arrest Yash, Raj and Zandulal for robbing the minister's house. They are sent to prison but Raj bribes a film director to help him escape. Marcos confronts Raj and Yash about the diamonds. He attempts to intimidate them by tying them to a train track on which a train is rushing full-speed, but this fails because the train rushes at him and his gang instead of Yash and Raj.
Because of the cancellation of Sanjana's marriage, Kajal's fits become worse. She uses guns and knives on Arjun to kill him. Kajal's father tries to get them to divorce but to no avail. Yash kidnaps Sanjana and, with Raj, wins approval from Kajal to help them against Marcos. They also kidnap one of Marcos' associates, Sofia. To intimidate Marcos further, they dress up for a festival and run away with the diamonds. The diamonds eventually get thrown into a fishtank, and the fish eat them all up.
After a hilarious climax, Sofia disappears, never to be seen again. Arjun is relocated to another town to start police-training from scratch. Marcos and his associates are all arrested and sentenced to 40 years in prison for their crimes. Yash and Raj start a fishing business to recover their lost diamonds.