Ugly is a 2013 Indian Hindi-language thriller film written, co-produced and directed by Anurag Kashyap. Jointly produced by Phantom Films and DAR Motion Pictures, the film stars Rahul Bhat, Ronit Roy, Tejaswini Kolhapure, Vineet Kumar Singh, Girish Kulkarni, Surveen Chawla and Anshika Shrivastava in the lead roles. It also features TV actor Abir Goswami in his last film appearance before his death in 2013. Told in the course of a week, Ugly follows the story of a struggling actor Rahul Varshney (Bhat), whose daughter Kali (Shrivastava) disappears, and the events that follow.

Kashyap had the idea for the film since 2006 and started writing the script after talking to one of his friends, who was in the Special Task Force, Lucknow, about kidnapping cases. He chose actors who could connect with the characters in the film. The film's background score and music were composed by Brian McOmber and G. V. Prakash Kumar respectively, while Gaurav Solanki wrote the lyrics. Nikos Andritsakis served as the film's cinematographer and Aarti Bajaj was its editor.

Ugly premiered in the Directors' Fortnight section at the 2013 Cannes Film Festival. It was also screened at the 2014 New York Indian Film Festival, the third Ladakh International Film Festival and the Indian Film Festival of Los Angeles. The digital poster of the film was released on 8 May 2013. The circumstances that led to the birth of Kali were separately made as a short film, titled Kali Katha, and was released on YouTube on 23 December 2014. The film was theatrically released on 26 December 2014 after a two-year delay due to Kashyap's refusal to carry static anti-smoking warnings in the film. He had filed a case in court but ultimately lost it. Upon release, the film received critical acclaim and was a commercial success, grossing over worldwide.

Plot Shalini (Tejaswini Kolhapure) is a depressed housewife who attempts suicide but is interrupted by her ten-year-old daughter from her first marriage, Kali. Shalini calls her husband, DCP Shoumik Bose (Ronit Roy), asking for money, but he refuses. Her brother Siddhant (Siddhanth Kapoor) tries to convince Bose to smuggle iPhones. Rahul (Rahul Bhat), a struggling actor Shalini's first husband and Kali's biological father, takes Kali to a work assignment, where she chooses to stay in the car. While Rahul is waiting for his casting director, a toy seller tries to catch Kali's attention with children's masks. Rahul's agent Chaitanya (Vineet Kumar Singh) soon arrives and gives Rahul a film script and informs him that Kali was not in his car, the two rush back and finds her missing. While Rahul frantically searches for her, Chaitanya asks the toy seller about Kali and notices that he has her phone. The man tries to get away but is eventually killed by a car while being chased by the two. They later go to the police station to report Kali's disappearance. The local police inspector, Jadhav, asks Rahul why he was travelling with his daughter. Rahul says that since his divorce, he can only meet Kali on Saturdays.

Two officers find the mask seller's house and ask his aunt about Kali, but she claims to know nothing. Bose taps Shalini's phone and listens to her conversation with Rakhee (Surveen Chawla), a B-grade film actress. After being informed of his stepdaughter's kidnapping, he arrives at the station and beats Chaitanya. Bose accuses Rahul of the kidnapping and shows him the recording of Rahul and Shalini's conversation, where she did not want Kali to meet him. Bose later reminds him of their college days when he used to bully him.

Disguising his voice, Chaitanya calls Rahul and demands ransom. The call is received by Bose instead. Chaitanya also informs his agent to conduct an audition of ten-year-old girls to re-create dialogues for a ransom call. The next day, Jadhav follows Chaitanya into his office, where the police tap his phone and find out that he is in debt. He is arrested on suspicion of kidnapping Kali. Rahul escapes from police captivity after a doctor arrives for his check-up. Later, Bose overhears one of Shalini's conversations, in which she explains how Rahul used to beat her after marriage and how she met Bose after filing a complaint. Jadhav interrogates Chaitanya, who says that he had called for ransom because Bose was more interested in his personal grudge with Rahul than the kidnapping. Rahul tells Bose that Chaitanya could not have kidnapped Kali since he is aware of Rahul's lack of funds. The police expand their search operation.

Chaitanya uses a girl's audition to demand ransom from Rahul. Rahul, who is at Rakhee's place, tells Chaitanya about the call, which is tapped by the police. Chaitanya tells him to talk to Bose, who can arrange the money. Later, Rakhee urges Shalini to pay the ransom. Chaitanya is subsequently arrested by the police, and Rahul, who escapes, is later arrested after he tries to rob a jewelry store. Rakhee calls Rahul, and using the same recorded voice, demands ransom. Siddhant also makes a ransom call of ₹50 lakh (US$60,000) to Shalini, who asks her father for ₹65 lakh (US$78,000). She asks Rakhee to hide the ₹15 lakh (US$18,000) and delivers the rest. Rakhee eventually flees, stealing the money. Bose asks her about the money, but she does not answer and shoots him in the shoulder. Siddhant is then arrested with the money. Jadhav tells Rahul to deliver the money to the kidnapper, but Chaitanya evades police interception and throws away his phone. Rahul, Chaitanya, and Rakhee now have the money, and Rahul calls Bose to taunt him. Realising that Bose is unaware of Kali's whereabouts, Rahul murders Chaitanya, while Rakhee quietly leaves with the money.

With new intel that confirms the toy seller and her aunt's involvement in recent child abductions, the police revisit the marketplace and talk to a woman who knew the toy seller and find out that they have a history of abducting children. The woman finally leads the police to Kali inside the sidecar of a bike, where she is found dead. Bose arrives with his entire team and The police discover that she had indeed been kidnapped by the toy seller. The film ends with Bose flicking away his cigarette as a female inspector is heard wondering if Kali could have been saved.

Cast Rahul Bhat as Rahul Kapoor/Varshney Ronit Roy as Shoumik Bose Tejaswini Kolhapure as Shalini Bose Alia Bhatt as Young Shalini (cameo appearance) Vineet Kumar Singh as Chaitanya Mishra Surveen Chawla as Rakhee Malhotra Siddhanth Kapoor as Siddhant Girish Kulkarni as Inspector Jadhav Abir Goswami as ACP Gupta Anshika Shrivastava as Kali Varshney Saharsh Kumar Shukla as Gangster Pujari Ajay Purkar as ACP Godbole Murari Kumar as Shrilal

Production

Development Director Anurag Kashyap said in an interview that the genesis of Ugly started from his own broken marriage and the relationship with his daughter. He mentioned that his guilt of not spending enough time with her when he was an alcoholic also shaped the film. He stated that the first ten minutes of the film stems from his personal experiences. He had been working on its script since 2006. Later, Kashyap met his friend Amit Pathak, who was the head of Special Task Force in Lucknow and talked to him about real life kidnapping cases and how they were tackled. He also explained the whole "logic" of such kidnapping cases and how they function. The shocking thing for Kashyap to know from him was that in eighty five percent cases of kidnapping, there are no ransom calls, and the abductions are vendetta based. He later included several real-life incidents in the script like a case of an Indian Administrative Service officer whose wife filed a case of brutality against him.

After the research, Kashyap finished the script and gave it to some people to read who felt that "it was a very dark and intense film". He said: "I knew that I could make it only after I had made a successful film. So Gangs of Wasseypur allowed me the freedom to make this film without sharing the script with anyone. I just told people I wanted to make a kidnapping drama and to trust me." The film's story is told over the course of a week. Kashyap announced Ugly in May 2012.

Casting For casting, Kashyap chose actors who could connect with the characters in the film. He found a lot of parallels between Rahul Bhat's real life and his character in the film and hence gave him the role of a failed actor. The two had previously discussed the project in 2012. To prepare for his role, Bhat started consuming alcohol heavily and deprived himself of sleep to create dark circles around his character's face. Tejaswini Kolhapure, per Kashyap knew "what happens when you make bad choices in life", as her first film choice, Paanch, directed by Kashyap, was never released. She plays the role of an alcoholic mother, for which she actually consumed alcohol while shooting. Ronit Roy was cast in the role of a senior police officer.

Vineet Kumar Singh was cast in the role of a casting director. Kashyap had seen Girish Kulkarni in films such as Vihir (2010) and Deool (2011) and wanted to work with him. He met their director Umesh Vinayak Kulkarni in Denmark, who told him that Kulkarni would love to work with him. Afterwards Kashyap came back and called him for Ugly. Surveen Chawla plays the role of a C-grade film actress, who she described as "crass, downmarket C-grade item girl who is ugly on the inside". The film has television actor Abir Goswami's last appearance before his death in 2013. Siddhanth Kapoor was cast in Ugly before his debut film Shootout at Wadala (2013), since he wanted to work with Kashyap. Alia Bhatt makes a brief appearance in the film as the younger version of Kolhapure.

Filming Kashyap shot the whole film without giving its lead actors any script as he felt the film "required" that. During shoot, he would brief the actors about the scene and let them emote to do their own bit, while the camera was kept rolling. The actors got to know about the film, when it premiered at the Cannes Film Festival. Kashyap had told Bhat and other cast that he wanted to make this film in 2012. They spent the next two years, talking to each other and getting to know each other. The little girl in the film is named Kali (Hindi for bud), who, according to author Vaiju Naravane, represents "untouched innocence". Anshika Shrivastava, who played the character, was unaware of the story, and Kashyap requested her parents not to show her the film as he felt she was too young for the subject matter. On the day of shooting, Kashyap gave Roy the scene for the day which he refused to read and said: "I told Anurag that now that there was no script, I'll leave the shooting entirely on him." For a sequence, where Bhat had to cry, Kashyap kept talking to him for three hours and he eventually broke down and wept. The camera kept rolling during that period. The film was extensively shot in real locations. While shooting a scene where his character is taken in remand by the police, Singh was slapped over fifty times in real. His hands were cuffed and tied to the roof to represent the actual third degree torture. It was because Kashyap wanted to depict a realistic reconstruction of police methods in India. A scene where both Singh and Bhat talk to the inspector in the police station was improvised, because, Kashyap wanted to show the real "police apathy and the power trip."