Amitabh Bachchan who played Jai in the original will play the villain Gabbar Singh. Varma also roped in Mohanlal, the popular South Indian Super Star, to play the role of Thakur Baldev Singh played by Sanjeev Kumar in the original. Prashant Raj Sachdev will play Jai. It was later announced that Sushmita Sen will play Radha. Ram Gopal Varma's current favourite Nisha Kothari will play Basanti.
Abhishek Bachchan was originally meant to play the role of Veeru but dropped out. Saif Ali Khan was also offered the role but declined. It was announced in December 2005 that Ajay Devgan will now essay the role of Veeru. Sushant Singh will play Sambha’s role. Gaurav Kapoor will essay the role of Ahmed.
Asha Bhosle, who was originally supposed to sing the famous track "Mehbooba O Mehbooba", the original song being sung by her late husband R D Burman, has been replaced by Sunidhi Chauhan, Amitabh Bachchan will pitch in a few lines. Earlier Himesh Reshammiya was to compose a different special remixed version of the original number for the film, however things seem to have changed and Ganesh Hegde roped in, because Himesh is quite busy with his schedule.