Ugly
Synopsis:
Shalini (Tejaswini Kolhapure) is a middle-class housewife forced to stay at home by her second husband, police-chief Bose Shoumik (Ronit Roy). She considers suicide, and is about to shoot herself in the head with her husband’s gun when she is interrupted by her daughter, Kali (Anishika Shrivastava). Unaware of her mother’s activities moments earlier, Kali asks her mother to call her estranged father, Shalini’s ex-husband, Rahul (Rahul Bhat). It’s a Saturday, and Kali’s day with her father as decided in the custody agreement from the divorce. Rahul, an aspiring actor struggling to make it big, comes to take her for a drive but ignores her in favor of phone calls made to try to further his career. Finally, Rahul leaves Kali alone in the car to go to an audition and to check in with his agent, Chaitanya (Vineet Kumar Singh). When he returns to the car, Kali is missing.
Rahul first searches for Kali through the police, Chaitanya in tow. The local police-captain, Jadhav (Girish Kulkarni), does not take Rahul seriously until he realizes that Kali is the stepdaughter of the police-chief. Bose, out of hatred for Rahul, orders Jadhav to accuse Rahul of the kidnapping and to torture both Rahul and Chaitanya to interrogate and punish them. A game of one-upmanship follows as Rahul and Bose search for Kali while simultaneously attempting to upstage the other.
After several days the police find out that Kali was actually kidnapped by a serial kidnapper who was killed in a road accident after the kidnapping. The kidnapper had knocked Kali unconscious and hidden her unconscious body in a parking lot. Kali died in an unconscious state as no one found her. The police accept that she could have been saved had they not been misguided by her maternal uncle and real father.
Rahul Bhatt plays a struggling actor with a greasy ponytail and the kind of aggressive, desperate charm you only find in the lower-rung casting offices of Mumbai, and he spends the opening scene of Anurag Kashyap's Ugly talking down to his friend through a windshield that really needed a good wipe. It's a small thing, that dirty glass, but it sets the exact temperature of the movie—grubby, indifferent to aesthetic luxury, stuck under a smoggy glare that makes every face look like it was rubbed with cooking oil. You watch this guy, Rahul, whine about his career and his ex-wife while his little girl sits in the back seat, and you already know that nobody in this frame is going to make it home for dinner without losing a piece of their soul. We have seen Bollywood movies about kidnapped children before, usually wrapped in shiny suspense tropes where the police commissioner has a sharp suit and a clever deduction, but this is something else entirely. Kashyap doesn't want to thrill you. He wants to drag you through four days of bureaucratic incompetence and domestic hatred until you need a shower.
The plot kicks off when the girl goes missing from a parked car during a brief errand, which sounds like standard procedural fuel until you realize nobody in the vicinity possesses the basic emotional capacity to care properly. Tejaswini Kolhapure plays the depressed, pill-popping stepmother with a vacant stare that suggests she stopped registering reality sometime around the previous Tuesday, and her performance is so hollowed out it's almost hard to look at. Ronit Roy is her husband, a high-ranking police officer whose uniform is pressed to a razor edge that contrasts sharply with the absolute moral rot underneath. He doesn't panic when his daughter vanishes; he immediately starts scheming about who he can frame, how he can use the crisis to settle old scores, and which subordinate to scream at first. The screenplay refuses to give us a single pure victim, because even the missing child is mostly used as a football by the adults in her life. Vineet Kumar Singh shows up as a casting director turned extortionist associate, sweating through his cheap shirts and running around town with an eagerness that feels genuinely pathetic. The direction is chaotic, handheld, and occasionally exhausting, capturing the claustrophobia of police stations that smell of stale tea and damp files. Every room is too small for the people standing in it. If I'm honest, the sound mixing during the station scenes gets so muddy that half the dialogue in the background overlaps into an unintelligible roar, which might be realistic to how chaotic a Mumbai police precinct operates on a Tuesday afternoon, but it still makes you reach for the volume button.
There is a specific cruelty in how the film treats its supporting players, pulling them into the vortex of a botched ransom drop simply because they were in the wrong corridor at the wrong time. Surveen Chawla plays an item girl caught between her ambitious lover and the cops, and she brings a desperate, hard-edged survival instinct to a role that could easily have been reduced to exploitation. Nobody is innocent here. Not the filmmakers, not the characters, and certainly not the audience that stays tuned to watch the screws turn tighter. It reminds me a bit of David Fincher's Zodiac in the way it stretches frustration out over hours of dead ends and missed opportunities, except without the journalistic rigor or the clean digital sheen. Here, the camera dips and bobs like it's hiding behind a pillar in a crowded corridor, catching conversations half-heard and arguments that cut off without a resolution. The background score by G.V. Prakash Kumar relies too heavily on low synth drones that pulse like an anxious heartbeat, and while it works for the first twenty minutes, by the third hour it's just telling you how to feel instead of letting the performances do the heavy lifting.
Hindi films rarely commit to this level of sustained cynicism without eventually offering a redemptive monologue or a tearful patch-up scene near the credits, but Kashyap shuts every single door. The institutional corruption isn't a plot point you can solve by arresting one bad guy; it’s the wallpaper of the entire universe these people inhabit, from the casting couch to the interrogation room. Siddhant Kapoor plays a junior cop whose loyalty is tested by his superiors, and his wide-eyed confusion grounds the procedural rot in something resembling human scale, even if his crying scenes wobble between genuine distress and melodrama. You watch these characters trade accusations in cramped apartments with clothes hanging from the ceiling fans, and the claustrophobia starts to feel physical. The script keeps tightening the knot around everyone's throat until the ransom call doesn't even feel like a turning point anymore, just another excuse for miserable people to yell at each other under fluorescent lights that flicker with a low, irritating hum.
By the time the final frame rolls—wait, let's scratch that, because there is no grand finale or cathartic release—by the time the credits hit a blank screen with no fanfare, you realize the title isn't a metaphor. It's a literal inventory. Every relationship, every ambition, every transaction shown across these two-plus hours is rotten at the core, born from a desperate scramble for scraps in an industry and a city that eats its own children. It's an unrelenting piece of work that refuses to flatter its viewers by pretending human beings are basically decent under pressure. They aren't. Under pressure, these people turn on each other like starved dogs in an alley, and Kashyap just stands there with his camera, letting them bite.