Pakistani actor Imran Abbas was the first choice for Ram, he rejected the role due to "contractual obligations". Kareena Kapoor and Ranveer Singh were cast in the lead roles in the film. Singh later confirmed the news and conveyed his excitement on working with Kapoor. Bhansali was impressed with Singh's performance in Band Baaja Baaraat and cast him for the film. However, Kapoor walked out of the film 10 days before the shoot began and instead did Dharma Productions's romantic comedy Gori Tere Pyaar Mein. With already complete sets and an approaching filming schedule, Bhansali approached Priyanka Chopra who agreed to do the film. Chopra was officially cast for Leela in July 2012 and was to start filming in August. However, before the filming started Bhansali brought Deepika Padukone in the film. After this unpleasant experience with Bhansali, Chopra stopped talking to Bhansali, as confirmed by the CEO of Bhansali Productions. In August 2012, Padukone had publicly expressed her desire to be a part of the film. After wrapping the filming of his previous film Lootera, Singh confirmed that he was signed on for the film in August 2012.