The chamber in which Leela and Ram exchange messages has paintings of Raja Ravi Varma hung with 'diaphanous curtains'. The storage area of weapons are made so that the guns poke out of 'straw baskets and from inside shimmering back-lit glass cases'. The set of the porn film parlour operated by Ram in the film is has 'neon-lit cut-outs and lurid poster art'. Khan and Bhansali travelled through villages in Gujarat and got references from the lifestyle, costumes and markets, which were used for putting together the sets. Interior sets were created at Reliance while an exterior set used to show the mohallas, streets and markets was set in Film City. Some of the sets were created in Reliance and Film City. According to Khan, despite the decision to shoot half of the film on the sets and the other half in real locations, 90 percent of the film ended up shot on sets due to difficulties to shoot action sequences in real locations. Bhansali and Khan spent about 2–3 months observing locations and discussed references and drawings. Khan found the experience of creating sets for Ram-Leela 'different' from his previous films. Devaiah felt that other than the basic frame, Ram-Leela wasn't similar to Romeo and Juliet. Devaiah said that his character was from the Jadeja clan and has 'enough shades of grey' and was 'nothing' like he had done in his career at that point. Gulshan Devaiah was reported to play the role of the antagonist Bhavani. Sengupta was asked by Bhansali to forget acting for her role. Barkha Bisht Sengupta, a television actress, plays a supporting role. Chadda also attempted to mimic Patel's acting. Bhansali ordered Chadda to watch Mirch Masala to prepare for her look, which was inspired by Smitha Patel. For Chadda's role, Bhansali wanted someone 'with a dusky complexion and Indian features', hence she was selected. Although she initially denied the claim, Chadda later agreed to play the role she was not given the entire script until a month of filming. Richa Chadda was reportedly signed on to play a significant role, cast by Shruti Mahajan. In an interview Bhansali revealed that he met Padukone with the script while she was ill impressed with her beauty and watery eyes, he cast her. After wrapping the filming of his previous film Lootera, Singh confirmed that he was signed on for the film in August 2012.
It should be noted that in August 2012, Padukone had publicly expressed her desire to be a part of the film. After this unpleasant experience with Bhansali, Chopra stopped talking to Bhansali, as confirmed by the CEO of Bhansali Productions. However, before the filming started Bhansali brought Deepika Padukone in the film. Chopra was officially cast for Leela in July 2012 and was to start filming in August.
With already complete sets and an approaching filming schedule, Bhansali approached Priyanka Chopra who agreed to do 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. Bhansali was impressed with Singh's performance in Band Baaja Baaraat and cast him for the film. Singh later confirmed the news and conveyed his excitement on working with Kapoor. Kareena Kapoor and Ranveer Singh were cast in the lead roles in the film. Pakistani actor Imran Abbas was the first choice for Ram, he rejected the role due to 'contractual obligations'. Priyanka Chopra as an item number 'Ram Chahe Leela'.Deepika Padukone as Leela ('Juliet') Sanera.The two clans come together to cremate the bodies of the lovers. Ram and Leela decide that they are each other's soulmates and shoot one another dead, all the while oblivious to the fact that Dhankor Baa has undergone a change of heart and has killed Bhavani, ordering that peace be made with the other clan. During Dusshera, as the Ramlila parade is ending, many of the Rajadis are killed and the village is on the brink of war, which Ram senses. Bhavani, who does not tolerate this development, deceives Leela into blindly signing a document that orders unrestrained killings of the Rajadis.