Tag Archives: Movie Review

Movie Review: Hamlet (2025)

3 Stars (out of 4)

Hamlet opens in US theaters April 10

Director Aneil Karia’s new version of Hamlet re-imagines Shakespeare’s tragedy as a modern-day business succession drama. Riz Ahmed’s bold turn as Hamlet enlivens the drama for a contemporary audience, even as it retains the play’s original dialogue.

Karia’s interpretation of a screenplay by Michael Lesslie sets the story in present-day London. Hamlet (Ahmed) returns home from abroad for his father’s funeral. His father was the owner of a firm called Elsinor, a wealthy construction company that builds high-rises. The night of the funeral, Hamlet’s paternal uncle Claudius (Art Malik) announces that he’s going to marry Gertrude (Sheeba Chaddha): his brother’s widow and Hamlet’s mother.

The wedding news comes as a shock to Hamlet, and he’s even more troubled by the fact that no one seems bothered by it but him. We don’t know where Hamlet was before his father died or how much he knew about his condition, but multiple people point out that his dad had been ill for several months. His father’s mattress still bears his silhouette in the form of a deep indentation created over his long convalescence. Everyone else has had time to mourn him and make plans for what comes next. Hamlet is the only one who experiences all this as breaking news.

In this fragile state, drugs and booze are the last things Hamlet needs, but his friend Laertes (Joe Alwyn) takes him out clubbing. Buzzing and overstimulated, Hamlet stumbles into an alley and sees the ghost of his father (played by Avijit Dutt). The ghost leads Hamlet to the top of one of Elsinor’s buildings under construction where he reveals that he was murdered by Claudius via poison dropped into his ear.

Hamlet believes the ghost and intends to prove his uncle’s guilt. The only person he confides in is Ophelia (Morfydd Clark), his former flame and Laertes’ sister. She’s concerned about Hamlet’s increasing agitation but agrees to keep his supernatural encounter a secret.

Thus Hamlet sets about trying to confirm his uncle’s guilt via a convoluted plan that involves a very direct piece of performance art at the wedding. It isn’t until the night of the wedding that Hamlet finally gets to speak privately with his mother, even though she’s been shooting him pointed looks that communicate variations on “I need to talk to you” and “We’ll talk about this later.” Chaddha is an elite talent when it comes to sending messages with her eyes.

The conversation goes poorly and comes too late to prevent the tragedy that follows, particularly when family advisor Polonius (Timothy Spall) — father of Ophelia and Laertes — interrupts mid-argument. The violent climax to the story is visceral and shocking.

Lesslie’s screenplay cuts out some major parts of the play, including Hamlet’s “Poor Yorick” speech and the characters Rosencrantz and Guildenstern. Anyone who didn’t know about them before won’t miss them, as their absence makes for a quicker narrative pace and keeps the film’s runtime under two hours.

The famous “To be or not to be” monologue is shot in a really inventive way, with Hamlet delivering it while driving. The screenplay ads a nice contemporary hook by blaming Elsinor Corporation for displacing homeless people, a variation on the “something rotten in the state of Denmark” line from the play. Hamlet only realizes this after he returns home, a further indictment that he’s been neglecting his duties as heir to the family business.

Ahmed vibrates with intensity the entire film, effectively conveying Hamlet’s sense of disconnection and his declining mental state. The casting all around is solid, with Chaddha being an inspired choice for Gertrude. Even Malik is quietly good as Claudius, who’s trying to give off “just a regular guy” vibes after killing his brother and marrying his wife.

My biggest complaint about Hamlet could be due to the fact that I watched it on a digital screener and not in a theater or on Blu-ray, but it’s worth mentioning in case it’s simply how the audio is designed. It’s very hard to hear the dialogue at times. There’s a constant murmur of background noise — whether its music or chatter — that’s meant to indicate that locations are busy and populated. In order to have a private conversation under these conditions, Hamlet whispers a lot, which is hard to hear over the background noise. Not to mention, these lines were originally written to be delivered from a stage by an actor without a microphone (because they hadn’t been invented yet). They weren’t meant to be whispered. I wish I didn’t have to spend as much time adjusting the volume as I did.

Links

Movie Review: Ikkis (2026)

4 Stars (out of 4)

Watch Ikkis on Amazon Prime

Ikkis (“Twenty-one“) is the best demonstration of filmmaker Sriram Raghavan’s skills yet, despite it being quite different from the other movies in his oeuvre. Though it lacks the physical danger of his earlier thrillers like Johnny Gaddaar, Badlapur, and Andhadhun, Ikkis is still built around a main character’s central tension: am I going to break his heart?

The title refers to the age at which Indian Army 2nd Lieutenant Arun Khetarpal (Agastya Nanda) died in the waning days of the 1971 India-Pakistan War. Thirty years later, Arun’s framed photo hangs on the wall of a house in Lahore, Pakistan belonging to Brigadier Jaan Mohammad Nisar (Jaideep Ahlawat). The photo’s curious existence is made even more intriguing when Nisar hides it before his houseguest arrives.

That guest is Brigadier Madan Lal Khetarpal (Dharmendra), Arun’s father. The elder Khetarpal grew up and studied in Pakistan before Partition drove his family to move to India. He returns for a class reunion and a visit to his hometown, staying with Nisar, his wife Maryam (Ekavali Khanna), and their adult daughter Saba (Avani Rai).

The rapport between the family and their guest is immediate, and Khetarpal is glad to have their company at the reunion. He also speaks freely about his own family, including Arun. Through Khetarpal’s reminiscences, we get to know about his first-born son, and we see Arun’s life in flashbacks.

Though Ikkis is based on a true story, this isn’t a hagiography. During his officer training days, Arun is a capable leader, but he is just as bad at anticipating consequences as most 21-year-olds are. He struggles to balance his military duties with his new romantic relationship with medical student Kiran (Simar Bhatia). He follows rules to a fault.

That’s why Arun’s death in combat has always been a mystery to his father. The official report states that Arun — who was assigned to be a tank commander when sent to the front in 1971 — turned off his radio and disobeyed orders in his final moments. That doesn’t sound like the Arun his father knew.

Questions linger over Ikkis: Why does Nisar have a photo of Arun? Why is he hiding it from Khetarpal? What really happened to Arun on the battlefield? The answers are decades old and pose no immediate danger, but they create a tension that propels the story forward, building as Nisar’s fondness for the elderly Khetarpal grows.

That affection is what makes the film so special. This is Dharmendra’s last movie, and his tremendous talent shines through as a father searching for something to finally help him make sense of his son’s death. Ahlawat deftly portrays the internal conflict between Nisar’s respect for Khetarwal and his guilt at keeping secrets from him. The warmth between the two actors is a joy to watch.

After a forgettable debut in The Archies, Nanda shows much more promise playing Arun. He’s a competent guide through history, showing us a war that looks much like any other war. Young men raised on heroic stories are eager to make a name for themselves, even though many of them won’t survive to tell their own tales. One of Arun’s senior officers Risaldar Sagat Singh (Sikander Kher) warns Arun not to “go looking for death,” but Singh later repairs a tank tread with a fresh bullet wound to the shoulder. He makes heroism look easy, so of course it would appeal to Arun and his classmates.

That’s the trick with anti-war movies: they always end up showing the cool parts of war. Tanks are cool. Getting shot and acting like it’s no big deal is cool. Raghavan does his best not to glamorize war, but it’s ultimately up to the older characters like Khetarpal and Nisar to explain that war is bad for everyone.

Hindi films about cross-border relationships used to be far more common, which makes Ikkis not just unique but important. There’s truth in the film’s central idea that India and Pakistan are more alike than they are different. The first thing Arun and his tank crew remake upon when they roll across the border is that it looks the same as the land on the other side. Frequent reminders about our shared humanity are vital.

Links

[Disclaimer: my Amazon links include an affiliate tag, and I may earn a commission on purchases made via those links. Thanks for helping to support this website!]

Movie Review: Jab Khuli Kitaab (2024)

1.5 Stars (out of 4)

Watch Jab Khuli Kitaab on ZEE5

There’s something off about the structure of Jab Khuli Kitaab (“When the Book Opened‘). Actor and filmmaker Saurabh Shukla directs this movie version of his own play of the same name, but it doesn’t translate from stage to screen.

Gopal Nautiyal (Pankaj Kapur) has spent the last two years caring for his comatose wife Anusuya (Dimple Kapadia) in their house in picturesque Raniket, Uttarakhand. (Gorgeous scenery is the film’s best attribute). Their daughter and oldest son have returned home with their own families to say final goodbyes to Anusuya, who looks to be in her last days.

When the couple’s youngest son Dholu (Abuli Mamaji) — who has Down syndrome and lives with them — touches his mother’s face, she suddenly wakes. The family’s celebration is short-lived. Anusuya privately confesses to Gopal that their eldest son Param (Samir Soni) is the product of an affair. Gopal keeps the secret, but his bad mood rubs off on everyone.

Secretly, Gopal drives into town to find a lawyer. He’s waylaid by eager attorney RK Negi (Aparshakti Khurana), who is flummoxed by his new client. He can’t believe that Gopal wants to divorce his recently comatose wife for an affair she had fifty years ago.

I normally dislike when movies begin with a flashforward, but Gopal’s meeting with the lawyer is where Jab Khuli Kitaab should have started. The divorce is the film’s hook, so it makes sense to lead with it. Plus, Negi’s presence in the story would be more impactful as a framing device rather than just a guy who starts hanging around the family. His subplot about being in love with an unhappily married judge goes nowhere.

That’s the main issue with Jab Khuli Kitaab: it doesn’t have a destination in mind. Plotlines are unresolved, relationships are in flux, and the characters don’t seem to change or grow much through the course of the story.

It’s not to say that everything needs to be tidily wrapped up by the end, but the story just kind of floats there, directionless. The mix of tension and levity between and even within scenes is unbalanced. The film’s ending is abrupt and unsatisfying.

Given their experience and talent, Kapur and Kapadia create some compelling scenes together. Khurana’s comic relief character feels out of place, but that has more to do with story organization than his performance.

If the moral of the story is supposed to be “People are complicated,” well, yeah. That doesn’t make them interesting.

Links

Movie Review: Made in Korea (2026)

1 Star (out of 4)

Watch Made in Korea on Netflix

The Netflix Original Tamil movie Made in Korea is data-driven filmmaking at its worst. This fish-out-of-water story is an assemblage of scenes lacking a soul.

Shenba (Priyanka Mohan) lives in a small village in Tamil Nadu so remote that she has to stand on the back of an elephant to get a cell signal. She grew up fascinated with tales of an Indian woman who traveled to South Korea and became a queen (based on the legend of Heo Hwang-ok). Despite her love for all things Korean, visiting the country of her dreams seems impossible.

Other people have their own dreams for Shenba. Her father wants her to take over the small family restaurant. Her secret boyfriend Mani (Rishikanth) wants to marry her, but only after he sorts out his financial problems. When Shenba’s family finds a groom for her, she and Mani flee to the city.

Miraculously, Mani secures a job for Shenba at a hotel in Seoul, promising to find work there himself. When Mani fails to board the plane to Korea with her, Shenba learns a horrible truth: Mani bought Shenba’s plane ticket with money her father dropped off for her, and he headed to Mumbai alone with the rest of the cash.

Freshly heartbroken in a city where she knows no one, Shenba discovers her hotel job was a scam. A handsome stranger named Heo Jun-jae (Si-hun Baek) takes pity on her and finds her a job as a caretaker for a sick, elderly woman, Yeon-ok (Park Hye-jin).

Up to this point, sophomore writer-director Ra Karthik is pretty thorough about establishing Shenba’s relationships with the people in her life — particularly those back home, and even her connection with Jun-jae makes sense. But from this point forward, every relationship is speed-run in order to check scenes off a Korean travelogue shot list (perhaps mandated by Netflix itself). Why things happen the way they do with the people they do makes no sense.

Shenba quickly discovers that Yeon-ok is faking her illness as a way to punish her son and daughter-in-law, with whom she lives. Yeon-ok threatens to accuse Shenba of stealing if she reveals her secret, but then immediately decides the young woman is her best friend. She drags Shenba to touristy spots around the city with Jun-jae in tow to document everything. ‘Cause, sure.

Then the woman open a restaurant together, and Shenba organizes a “K-pop” band out of the only other people she’s spoken to in Korea. I’ve never seen an idol group with a violinist, but okay.

There are all kinds of tropey K-drama moments, like the women hiring a part-timer to help with the restaurant, or the band shooting a K-pop-style music video. All we’re missing is a kimchi slap.

The whole thing feels hollow. Made in Korea was clearly designed by Netflix to fulfill two missions: capitalize on the popularity of Korean content in India and fill out the streamer’s thin South Indian Originals catalogue. The movie does so, but in a perfunctory way.

This movie isn’t born out of an Indian filmmaker’s own love for Korean pop culture. Ra Karthik said, “Personally, I had never watched a K-drama or listened to K-pop until I began working on Made In Korea.” It shows. If you’re familiar with K-dramas, there are a ton of ways to tell a fish-out-of-water story that leans into Korean TV-narrative styles, while showing character growth and exploring shared cultural traditions.

Made in Korea doesn’t do that. It hits a couple of K-culture tropes, shows some Instagram-worthy tourist spots, and calls it a day. Characters become friends, fight, and make up because the plot demands it, not because they have any reason to do so. It just feels empty.

Links

Movie Review: Dhurandhar (2025)

Watch Dhurandhar on Netflix

Note: I’m forgoing giving Dhurandhar a star-rating as it feels too reductive for a problematic subject.

Dhurandhar is not subtle, which is a big part of its charm. Its action is thrilling. Its emotional tension is off the charts. All major characters have their own motivations that overlap through a tangled web of politics, tribal affiliations, organized crime, terrorism, and blood ties.

That lack of subtlety is also Dhurandhar‘s downfall, as the agenda behind the film glares on a bright red screen. This is more than just storytelling. It’s provocation.

A recurring criticism of writer-director Aditya Dhar’s work is that he uses real-life tragedies to stoke sectarian anger. It’s the main reason that the Netflix Original horror film he wrote — Baramulla — didn’t work for me. The other Netflix Original movie he wrote — the romantic caper Dhoom Dhaam — is a wildly fun romp with no ulterior motives.

Inspired by multiple real-life terrorist attacks and actual political figures in Pakistan, Dhurandhar posits a “what if” scenario: what if India sent a spy to Pakistan to dismantle the terrorist networks from within? Success would require many years, flawless secrecy, and lots of luck for said spy to be in a position right at the intersection of the various parties that enable terrorism to thrive within Pakistan.

That spy is Hamza Ali Mazari (Ranveer Singh). He makes his way to Karachi’s Lyari neighborhood, a hotbed of politics and organized crime with an outsized influence on the city at large. He bides his time working at a juice shop run by another Indian spy, Mohammad Aalam (Gaurav Gera).

Hamza gets the attention of gangster Rehman Dakait (Akshaye Khanna) when he tries to protect Dakait’s two sons from an assassination attempt. Though Dakait’s older son is slain, the gangster brings Hamza into his crew as a reward for saving his youngest. Again, Hamza bides his time to gains Dakait’s trust, but he’s where he needs to be for his mission to succeed.

Dhar does a masterful job connecting all the threads that create the web that supports terrorism in Pakistan. A gangster like Dakait has access to the weapons needed by the terror cells that are encouraged by Pakistan’s ISI spy agency. But Dakait also wants the legitimacy and power that comes from a political position, and local politics are driven by sects and ethnic groups. There are dozens of individuals and factions that need to be considered in every decision, and the consequences for angering the wrong people can be deadly.

The acting across the board is terrific. Singh’s Hamza is the perfect blend of smart and tough. Khanna’s gaunt Dakait moves through the world like a hungry animal. Sanjay Dutt’s disgraced police officer SP Chaudhary Aslam enters the story like a wrecking ball — yet another deadly force to account for.

To better understand how Dhurandhar veers into trouble, I looked at another film about a decade-long effort to hunt terrorists in Pakistan: the 2012 Hollywood film Zero Dark Thirty. (That movie is also problematic in the way it promotes torture as a legitimate method of intelligence gathering, which it’s not.) Director Kathryn Bigelow uses some of the same storytelling techniques as Dhar does, but to very different effect.

Zero Dark Thirty opens with a black screen emblazoned with “September 11, 2001” written in white letters. Audio plays of police radio chatter and emergency services calls from that morning. We hear people as they realize planes have crashed into the World Trade Center. A frightened woman inside one of the buildings asks an emergency dispatcher, “I’m going to die, aren’t I?” As horrible as the recordings are, they remind the audience of the fear and disbelief everyone in America experienced that morning — all in about 80 seconds.

Dhurandhar likewise opens with refreshers on two major terrorist attacks: the hijacking of IC 814 in 1999 and the attack on India’s Parliament in 2001. However, Dhar reenacts these events onscreen in gory detail. An Indian citizen aboard the hijacked plane is executed in front of India’s negotiator (Intelligence Bureau Director Ajay Sanyal, played by R. Madhavan), but the man’s throat isn’t just slit. It’s sawed at. After the terrorists attack Parliament, a dead security guard is wheeled by Sanyal, her vacant eyes seeming to stare at him imploringly. The two sequences take up the first twenty minutes of the film, before Hamza is even introduced.

In the second half of Dhurandhar, Dhar employs the same technique that Bigelow used to start her film. It follows a lengthy scene in which Dakait’s gang, some terrorists, and a Pakistani spy chief played by Arjun Rampal was the 26/11 attacks in Mumbai on TV. They cheer “Allahu Akbar!” as they watch news footage of the attacks. (Somehow, none of the terrorists notices Hamza crying during the scene.)

Even though the audience has just watched footage of 26/11 cheered by gleeful Muslim terrorists, Dhar stops the whole story to emphasize that the attack really happened. Black text on a blazing red background reads: “Actual Recordings Between Handlers, Terrorists & Hostages; 26th November 2008.” Approximately 80 seconds of audio recordings of communication between the terrorists are accompanied by onscreen transcription.

Even though Bigelow and Dhar use almost exactly the same amount of audio material, the gimmick stops Dhurandhar‘s story so abruptly that it feels like a cliffhanger ending to the film — but the movie still has another hour to go. The choice makes so little narrative sense that it all but confirms that telling a story isn’t the movie’s primary goal.

Links

Movie Review: Accused (2026)

2.5 Stars (out of 4)

Watch Accused on Netflix

Netflix’s latest Indian Original movie features a lesbian couple in crisis, and its LGBTQ theme makes Accused stand out among other Indian Originals. Unfortunately, a formulaic story treatment makes the film more novel than innovative.

Comparisons between Accused and Todd Field’s 2022 movie Tár are inevitable. Both focus on a queer woman in a position of power whose career and marriage are threatened by sexual harassment allegations. Accused shifts things by making the allegations more of a mystery than a sure thing and by devoting more time to the main character’s wife’s experience.

Dr. Geetika Sen (Konkona Sen Sharma), an ace surgeon and gynecologist at London’s Chapelstone General Hospital, is known as much for her her gruff manner as for her medical talents. She’s about to leave for a big promotion at another hospital in England. On top of that, she and her wife Meera (Pratibha Ranta) are adopting a baby.

While the couple seems happy together, there are a few signs of trouble early in the story. Geetika is routinely late to events, giving the excuse that she was in surgery and out of reach — and sometimes that’s true. Their move away puts Meera’s own pediatrics career on hold, which is important, given that there’s an age gap of at least 10 years between the couple (Sen Sharma is 21 years older than Ranta in real life). Geetika feels like her more established career takes precedence, even if it prevents Meera from making similar progress in hers.

Then there’s the fact that Meera’s family back in Meerut don’t even know she’s in love with a woman, let alone married to one. An attempt to introduce Geetika to Meera’s brother while he’s in town is scuttled when Geetika fails to show up for lunch.

In the midst of everything, Chapelstone Hospital receives an anonymous complaint from a patient alleging inappropriate sexual conduct by Geetika during an exam. Geetika insists she didn’t do anything wrong, but the hospital’s head of Human Resources, Simran (Monica Mahendru), is obligated to investigate, despite their friendship.

Rumors circulate, and soon there are more anonymous complaints, including one on a social media site. Racists and homophobes are happy to pile on the insults until the hospital can’t ignore it. Geetika is put on leave. Things only get worse from there.

The social media segment is one of the worst examples of Accused falling into contemporary Hindi filmmaking tropes. Images of social media comments float on the screen around Geetika, including one that reads, “Someone tag Netflix, the pilot episode just dropped.” The visual gimmick is tired enough even without the tacky self-referentialism.

Geetika becomes convinced that someone is framing her, and her paranoia only ramps up her tendencies toward secrecy. But that prompts Meera to wonder what else her wife is hiding. Add to that all the people who are happy to see Geetika brought down a peg — aggrieved colleagues, Meera’s infatuated co-worker Angad (Aditya Nanda) — and the doubt becomes more than the relationship can bear.

The lead actors do a really wonderful job. Sen Sharma is the ideal choice to play a character who can wither with a look while still being sympathetic. Ranta plays off her in a way that highlights the power imbalance and Meera’s growing discomfort with it.

Yet the film is so straightforward and surface level that it feels less substantial than it could have. Issues around queer identity in Indian culture are mentioned but not examined. Much of the dialogue around sexual harassment is taken from workplace conduct handbooks and feels divorced from lived experience. These big issues are convenient plot setups, but that’s it.

Accused even wraps with characters monologuing about the lessons they learned throughout — as if we, the audience, didn’t just watch them learning those lessons. It would’ve been nice if director Anubhuti Kashyap and writers Sima Agarwal & Yash Keshwani had more faith that an audience that would seek out such a story could handle a more robust examination of the issues it presents.

Links

Movie Review: Humans in the Loop (2024)

3.5 Stars (out of 4)

Watch Humans in the Loop on Netflix

Companies specializing in Artificial Intelligence (AI) would have consumers believe that their systems are fully autonomous programs that learn independently. The reality is that AI can’t identify or differentiate things unless someone tells them how. Those someones are tens of thousands of Indian workers whose job it is to identify and label the images and videos that AI trains on.

Journalist Karishma Mehrotra’s 2022 article “Human Touch” profiles several of the women who work as data labelers in the small Indian towns that provide much of the industry’s labor pool. Filmmaker Aranya Sahay adapted Mehrotra’s article into Humans in the Loop, a fiction film that focuses on one woman who finds a new direction in life working on AI training material. It’s equal parts family drama and a critical look at the foundations of a growing technology.

Nehma (Sonal Madhushankar) is starting over in her home village in Jharkhand. Her long-term, live-in relationship — an arrangement known as “Dhuku” — is over because her partner Ritesh (Vikas Gupta) wants to stay in the city and marry someone else. They have two kids together: tween daughter Dhaanu (Ridhima Singh) and baby son Guntu (Kaif Khan). The only way for Nehma to keep custody of the kids is to have a job to support them.

Nehma gets her chance working at a data labeling company in the town next door. Essentially, foreign corporations send the company collections of images and videos, the contents of those images and videos are labeled by operators, and that labeled content trains an AI program. The job is pretty mechanical — use a mouse to draw a box around all the cars in a photo of a traffic jam, for example — but it pays well enough.

The woman who runs the company, Alka (Gita Guha), explains the job to a cohort of new recruits (all of whom are women): “AI is like a child.” This resonates with Nehma. Baby Guntu is just starting to stand on his own, and she’s eager to show her city-raised daughter all the places and creatures she loved growing up in the forest. “Teaching” AI seems like a natural extension of what Nehma is doing at home.

Of course, AI isn’t a child, nor is Nehma the one to decide what to teach it. She notices that the faces she’s tagging in image sets from Western companies don’t include photos of women that look like her. She’s troubled by having to label some of the forest creatures she loves as “pests.”

[This is the nitpickiest thing I will ever write, but I’m gonna do it. Nehma believes that caterpillars are stewards who help plants thrive by eating rotten leaf parts, but some caterpillars can absolutely destroy plants. Looking at you, tomato hornworm!]

And of course, not every child is the same. After growing up in the city, Dhaanu got dropped into a new environment that has none of the comforts or technologies she grew up with. She struggles to get a signal on the cell phone her dad gave her to keep in contact. Tromping around the forest with her mom is not her idea of a good time, and she has no friends her age. Yet Nehma can’t understand why Dhaanu is unhappy.

While Humans in the Loop is most novel for its depiction of a facet of AI training few people know about, it works very well as a family drama, too. Nehma is an imperfect parent, and the tension lies in if or when she’ll figure that out. Dhaanu is at an age full of profound changes, and it’s up to her to learn how to navigate it. Guntu is there to be adorable.

Director Sahay is wise not to try to make the film bigger than it needs to be. It’s only 74 minutes long, and that feels right. She gets good performances from her cast, who all inhabit their characters nicely. The subject matter feels currently relevant but also timeless. This is filmmaking done right.

Links

Movie Review: Sister Midnight (2024)

4 Stars (out of 4)

Watch Sister Midnight on Hulu
Rent or buy Sister Midnight at Amazon

Debutant feature director Karan Kandhari brings delightfully weird sensibilities to the dark comedy Sister Midnight. He finds the perfect collaborator in Radhika Apte, who gives a wonderfully unhinged performance as an unhappy newlywed bride.

The movie opens with Uma (Apte) and her husband Gopal (Ashok Pathak) traveling by train from their arranged wedding to his tiny Mumbai apartment. Once there, he bolts out of the room when she tries to change clothes in front of him. She wakes up alone the next morning with no money or food, and he comes home drunk that night. Neither of them says a word until eight-and-a-half minutes into the film, when he tries to explain himself and she scolds him for neglecting her.

This is Uma’s life now, and she’s not suited to it at all. She doesn’t know how to cook, so she has nothing to do all day. She doesn’t know anyone in the city, so she wanders the neighborhood after dark in her nightgown.

One day, she takes a train to the end of the line intending to mope while looking at the sea. Embarrassed to be counted among the other mopey folks at the beach, she instead gets herself a job as a night janitor in an office building. It’s not glamorous and it’s a four-hour walk from home, but it’s something to do.

Things get a little better for Uma when she befriends her surly neighbor Sheetal (Chhaya Kadam), the night watchman at the office building, and a friendly group of hijra who hang out outside the building. But just as Uma makes connections, her health takes a turn. She’s pale and can’t keep food down. One fateful night, she figures out what’s ailing her.

The key to Sister Midnight’s success is in its delivery. Kandhari tells his story with an odd, snappy cadence, not just in how characters perform their lines but in how shots are connected. Something happens, the camera quickly pans to Apte making a face, then it quickly pans back to the thing that happened. The pace keeps the audience off balance and provides ample opportunities for funny surprises.

Apte’s sterling credentials have been established for years, but this is the best she’s ever been. She is an expert at physical comedy, whether it’s something dynamic like leaping into a bush to catch a bird or just making a strange face or adopting an awkward posture. Because Uma has no backstory, Apte has great latitude in defining the character via her performance, and she creates a hilarious antihero.

Some parts of Sister Midnight aren’t executed to technical perfection, but that actually works in the film’s favor. Computer generated animals move in wonky ways that almost evoke claymation, which makes them more charming somehow.

Even when the story slows down, Kandhari finds ways to surprise. Uma sits at a roadside diner, morose and out of ideas, when a black & white samurai movie comes on the TV and snaps her out of her despair. The film is not a classic samurai movie, but one that Kandhari filmed (in Scotland, of all places) specifically for this scene.

Propelling everything forward is a killer soundtrack, with songs from artists as diverse as Howlin’ Wolf, Iggy Pop, Buddy Holly, and Motörhead. Best of all are three songs by Cambodian singer Sinn Sisamouth, who was active from the 1950s-70s. If you’re unfamiliar with him, I’ll embed one of his songs below.

The wide-ranging soundtrack fits with a movie from a filmmaker who wants to delight and surprise his audience. Sister Midnight is an astounding feature debut.

Links

[Disclaimer: my Amazon links include an affiliate tag, and I may earn a commission on purchases made via those links. Thanks for helping to support this website!]

Movie Review: Kennedy (2023)

3.5 Stars (out of 4)

Anurag Kashyap’s crime drama Kennedy premiered at the Cannes Film Festival in 2023 and then disappeared. It finally got a digital release on Letterboxd’s new video rental platform in late 2025. At long last, a wider audience — though not one in India, where the Letterboxd store is unavailable — could watch this sought-after thriller.

While Kennedy is thematically in keeping with Kashyap’s crime-heavy filmography, the movie is important for capturing a moment in time that most directors (and audiences) seem eager to forget: the phase of COVID-19 pandemic mitigations where businesses were gradually allowed to reopen following the strictest business closures. The conditions present particular economic challenges for the characters in Kennedy and affect the plot accordingly.

Rahul Bhat plays the title character, whose given name is Uday Shetty. He’s a former cop who’s been presumed dead for six years, though he’s unofficially on the payroll of Mumbai Police Commissioner Rasheed Khan (Mohit Takalkar). Whenever Khan needs someone killed without it being traced back to him, he calls Kennedy.

There’s something in the deal for Kennedy, too, beyond whatever perverse thrill he gets from murdering people. Kennedy is looking for a gangster named Saleem (Aamir Dalvi), and Khan has promised to help Kennedy find him. Whether Khan can be trusted is up for debate.

Living in the shadows makes Kennedy something of a ghost himself. A thick beard and mustache hide most of his face, and he hardly speaks. When he’s alone in his apartment, he’s joined by at least one chatty apparition who fills the silence for him.

Kashyap also fills the dead air with spoken word poetry written and performed by Aamir Aziz, who is accompanied by a live band. It makes the film surprisingly noisy despite its taciturn lead character. It’s a bold narrative choice, and one that I didn’t mind. For the English subtitles, the poetry had its own subtitlers — Srilata Sircar and Shigorika Singh — while Jahan Singh Bakshi handled the rest of the dialogue.

The poetry is performed on a stage in a club, and this is where the depiction of COVID mitigations is important for historical context. The club’s masked patrons listen to the performers, only removing their masks to sip their drinks. As a flip side to the depiction of the effects of COVID factory closures on migrant workers shown in Homebound, Kennedy shows how affluent city dwellers lived after businesses reopened. Clubs and restaurants operated at reduced capacity, but they were open.

This reduced capacity presents a problem for Commissioner Khan. Kennedy is one of the enforcers in Khan’s protection racket that extorts money from club owners and restaurateurs, and fewer patrons means less money for Khan. He’s desperate to pay off the loan he took out to bribe his way to the Commissioner’s post.

Besides the other crooked cops in Khan’s outfit and the ghosts in his apartment, the only person Kennedy has any connection with is a woman named Charlie (Sunny Leone). She shares an elevator with him following the first murder he commits in the film, and he winds up driving her to a club for his side gig as a rideshare driver (even assassins need to moonlight, apparently). She’s in trouble, and she pegs him as a man with the skills to help her. Whether he has the empathy it takes to do so is another question entirely.

With very little dialogue and with his face obscured by a beard or a mask, Bhat really only has his eyes and the way he moves his body to perform the role of Kennedy. The fact that the character is always mesmerizing is a testament to Bhat’s abilities. We’re always trying to figure Kennedy out, and Bhat gives just enough to keep us on the hook.

The biggest shame in the film languishing on the shelf is Leone’s performance as Charlie going unseen for so long. She’s a terrific choice for the role, and she brings a delightful, offbeat energy to it. Under other circumstances, this role could have pushed her career in a new direction toward more serious fare than she’s usually offered.

I’m glad Letterboxd finally made Kennedy available for rent (though only for a limited time). It’s an odd movie, but it’s always engaging. Its depiction of a very specific time period during an historically important period makes it special and worth preserving.

Links

Movie Review: Raat Akeli Hai – The Bansal Murders (2025)

3 Stars (out of 4)

Watch Raat Akeli Hai: The Bansal Murders on Netflix

Nawazuddin Siddiqui’s Inspector Jatil Yadav returns in the Netflix Original sequel Raat Akeli Hai: The Bansal Murders. His new case is bigger and more convoluted, but the sequel retains a lot of the qualities that made the first film special.

Though this new story is built around a crime totally separate from the one in 2020’s Raat Akeli Hai, some characters from the original carry over. While nothing about that constitutes a spoiler, character development and relationship building is an important part of the first film. For the best possible experience, watch Raat Akeli Hai before this new movie (just watch it anyway because it’s a great film).

The Bansal Murders opens with a disturbing sequence. Meera Bansal’s (Chitrangda Singh) prayers are interrupted by the incessant noise of crows. One of her uncles — I think it’s an uncle, though the Bansal family tree is large and a bit confusing — feeds them outside of the palatial family mansion daily, but their cries sound frantic today. Meera walks out to find dozens of crows dead and bleeding on the ground next to a severed pig’s head.

Inspector Yadav is called to the scene, as it seems someone is trying to send the Bansal family a message. Yadav’s new superior officer DGP Sameer Verma (Rajat Kapoor) wants this handled discreetly but quickly, a request made more challenging since the family spends so much time in prayer with their spiritual leader, Guru Ma (Deepti Naval). When Yadav finally gets to question the Bansals, he discovers weak points in their security system. Guru Ma dismisses the flaws — she says they can’t stop the bad things coming for the family.

The next day, Guru Ma’s prediction comes true. The three brothers who head the family, their wives, and a few of their adult children are all murdered with a machete. Only Meera and two of the grandchildren survive. One of the security guards slept through the attack while another was seriously wounded and placed in a coma.

There is an obvious culprit. Meera’s cousin Aarav (Delzad Hiwale) was an addict, and she saw him attack the wounded security guard Om Prakash (Rahaao). Moments later, she hears Aarav fall out of a window into the pool, an apparent suicide. This answer satisfies DGP Verma, who wants to reassure the public that a killer isn’t on the loose.

However, the head of the forensics team Dr. Panicker (Revathi) wants to be thorough, and she’s the only one with enough seniority to stall Verma. That gives Yadav time to explore a few nagging suspicions. Of course Yadav is right — the case isn’t as simple as it seems.

Even with most of the family dead, there are a ton of possible suspects. One of the things writer Smita Singh — who wrote the first film for director Honey Trehan, who also returns — is great at is keeping track of all the potential plot threads. Working backwards, the solution to the mystery makes complete sense. Trehan includes just enough shots along the way to hint at the truth.

The beats of this story are very similar to the first film, and they include some lighter moments between Yadav and his mother, Sarita (Ila Arun). She’s still desperate for him to get married, even more so now that she knows he has a girlfriend, Radha (Radhika Apte). Given the otherwise serious tone of the movie, Trehan gets these scenes right. They’re amusing, but not laugh-out-loud hilarious. Going that route would’ve broken the spell.

Siddiqui is again terrific playing a character who isn’t yet the best version of himself, but he’s working on it. Apte and Arun play off him perfectly. It’s also nice to see Shreedhar Dubey back as Yadav’s junior officer and friend, Nandu. The rest of the actors are good as well, behaving suspiciously without being cartoonish.

The exception is Naval as Guru Ma, but I think that’s the fault of the director more than the actor. They lean so heavily into Guru Ma being suspicious that it becomes silly. She speaks slowly, and only in riddles. Every sentence is accompanied by a blaring horn theme.

That’s one of the ways in which the shadow of Netflix hangs over Raat Akeli Hai: The Bansal Murders in a way it didn’t over the first film. There’s even a scene where Nandu tells Yadav to stop investigating, scolding him: “We could have had a press conference by now, media would be praising us, and Netflix would be making a movie.”

Despite that, Trehan and Singh are able to make insightful critiques into the way corporations, media, and the police all work to stoke public anger and fear, then use that public sentiment as a pretext to do what they want. They also created a core group of characters and a winning story formula that could easily be brought back again and again. Here’s hoping they do.

Links