Watch Tehran on Netflix
Watch Tehran on Zee5
Note: I’m forgoing giving Tehran a star-rating as it feels too reductive for a problematic subject.
Tehran is a movie whose potential release window closed years ago. It was filmed in October 2022, a year before norms around addressing Israel’s relationship with the Middle East’s Islamic countries changed. On top of that, the inexperienced storytelling team behind Tehran lacks the finesse to pull it off. This messy film should’ve stayed on the shelf.
The story opens by stating that it is based on real-life assassination attempts on Israeli diplomats in 2012 that took place in three countries: India, Thailand, and Georgia. Maps of the countries are shown on-screen, including a map of the state of Georgia within the United States of America — not the country Georgia, where the attack actually occurred.
John Abraham plays Rajeev “RK” Kumar, a cop in Delhi’s Special Branch — a unit with incredibly wide operational latitude, if the film is to be believed. He’s pulled from his ethics-bending investigation of organized crime onto a Delhi car-bombing case that killed a young flower seller. RK feels especially bad for the dead girl because he has a daughter the same age (as if that’s the only reason a man could care about the welfare of girls). Once that emotional connection is established, RK hardly thinks of his daughter again.
Indian authorities assume Pakistan was behind the attack, but RK notices that the targeted car carried an Israeli Embassy employee. He finds a connection between two other attacks on Israeli diplomats — in Thailand and the non-US Georgia — as well as evidence that they were planned in India. The attackers are all Iranian citizens.
This is a big problem for India’s government, who are days away from signing a deal with Iran to import cheap oil. There are other considerations regarding India’s relationship with Israel, and innumerable diplomats and politicians from all three countries are so hastily introduced that it causes confusion. Yet the oil deal is paramount. Accusing Iran of attempted assassination would surely scuttle the deal, so the higher ups want this case wrapped up quietly.
That won’t fly with RK, who wants justice for the dead little girl who may as well be his daughter (whom he never sees). But instead of just going after the perpetrator of the Delhi attack — an irritating villain named Afshar (Hadi Khanjanpour), whom we know is extra bad because he takes drugs and has gay sex — RK and his team travel overseas to take out the men behind the Thailand and Georgia attacks.
RK’s subordinates Vijay (Dinkar Sharma) and Divya (Manushi Chhillar in a minuscule role) poison the other two assassins in public places on foreign soil, killing both men. Is the commission of war crimes standard training for Delhi police? When RK and company head to Iran to finish off Afshar, RK’s boss tells him not to bother coming back to India. The threat of never seeing his extremely-important-to-him daughter again doesn’t deter our single-minded hero.
A note at the end of the film that states that RK acted “to stop thousands of Indians from becoming collateral damage,” a figure pulled out of nowhere. It’s used to justify the narrative blank check issued to RK to do whatever he feels necessary, regardless of whether he winds up causing collateral damage of his own.
RK’s own actions and choice of killing methods are part of the messy moral universe crafted by Arun Gopalan, based on a story and screenplay by Bindni Karia, neither of whom have many credits to their names. Ritesh Shah and Ashish Prakash Verma also worked on the screenplay, though their robust resumes don’t seem to have helped much. The creative crew is desperate not to be seen as taking sides in the Israel-Iran conflict, while also obviously taking sides.
Considering that the impetus for RK’s actions is the death of a little girl, a scene in which an Israeli assassin shoots an Iranian scientist in front of his young daughter is only shown in passing. Yet a scene in which Iranian assassin Afshar tortures a rabbi — whom we are told was kidnapped when he went to buy his daughter’s favorite bread — is lingered upon. It’s brought up again when an Israeli agent asks RK to get revenge for the rabbi’s death, to which RK says, “You kill theirs. They kill yours. No one is clean here. I’m not here to judge.”
The torture sequence is particularly troubling because Afshar is trying to get the rabbi to record a message demanding that Israel leave Palestine. “Free Palestine” is painted in huge letters on the wall behind him. This is used to establish Afshar as the villain, conflating his advocacy for Palestinian independence with terrorism. The movie does this with another character who has a “Free Palestine” poster, to whom RK says, “It looks like you hold a lot of hate for Israel.”
This movie was filmed a year before Israel responded to a Hamas attack with an ongoing genocidal war on Gaza that has killed tens of thousands of Palestinians. Just a couple of months before this movie’s release, Israel bombed nuclear sites within Iran. Had Tehran released as originally scheduled in 2023, perhaps it could have sold its “not taking sides” stance more effectively. It doesn’t get that same kind of grace releasing on August 14, 2025.
On top of all the messy political stuff, Tehran is just not a great movie. There’s nothing special about the acting, stunts, or locations, especially since the makers thought that Scotland could believably stand-in for Iran. This isn’t a project worth sullying reputations for. Just write it off on the corporate tax forms and pretend it never happened.
Links

Pingback: Streaming Video News: August 28, 2025 | Access Bollywood
Pingback: This Week at the Movies (Aug. 29, 2025) – Online Film Critics Society