WarningMight contain spoilers.

I was very forgiving of the film when I watched it. I would have said I liked bits of it and didn’t hate it; I’d watch more. The first half is better, with more action and adventure than idiotic conversation and tedious romance.

The more I thought about it, however, the less kindly I felt towards it.

Brahmastra tries to be good. It isn’t. It’s a ₹400-crore film that took four years to make, yet the screenplay gives every impression of being a first draft, it’s badly dubbed with poor audio, inadequate footage is continually stretched with slow motion, and it might have set a record for repeating the main character’s name:

Alia Bhat [sic] has said Shiva 103 times in Brahmastra part 1.

The dialogue is simply the worst I’ve ever heard, worse even than in Gangubai Kathiawadi. There’s an attempt to give it an epic quality, but without any skill whatsoever, such as the ability to write in a formal register or awareness of how to maintain uniformity of style within a single sentence. Indeed, the dialogue in particular feels like the end result of a process designed to take mundane writing and slowly, lovingly shape it into a grating slurry of randomly selected words. If production hadn’t started so long ago, I would have assumed it was AI-generated.

I’m sorry to say this is the first time I’ve ever thought Ranbir Kapoor was bad in a film. It’s true that the dialogues are a heavy burden to bear, but his abysmal performance is his own responsibility. He brings nothing to the role save for an overpowering blandness. I spent five minutes imagining alternative versions, and any number of actors would have made a better Shiva.

There are plot holes, and then there are holes surrounded by what passes for plot here. Shiva and Isha are a pair of witless dolts who cause death and destruction on a grand scale. Isha might be smarter but her first sacrifice to Shiva is her cognitive ability; I commend Alia Bhatt for her authentic and wholehearted performance before Shiva has his vision. From then on, her every moment could accurately be captioned ‘(simpers adoringly)’ or Shiva!. Her cousins are believable as typical Delhi inhabitants; one has to assume that, having had the misfortune of meeting Shiva, they probably died offscreen.

Some things annoy me even a year later. There’s all the time they spend talking to Aneesh on the side of the road instead of running from the villains. There’s the way Shiva almost always ends up behind the wheel, made more frustrating when Isha is briefly allowed to drive and clearly demonstrates her superior skills. Guru, Shiva, et al standing exposed on a rooftop near Junoon and her army, watching her passionately coax and threaten an army of villagers whose minds she’s controlling, isn’t ridiculous enough. No, she isn’t allowed to notice them until Shiva decides to put on his own mind-controlling amulet right there. And of course, there’s him performing a light show for Isha, presumably leading Junoon to immediately find the ‘secret’ ashram that’s listed on Google Maps.

In a movie overflowing with stilted conversations and terrible dialogue, Junoon may be the most unpalatable character. She has no presence and varies neither expression nor tone. Her voice strains with the effort of sounding intimidating, apparently the only goal of every word. I don’t understand how she appears to be harnessing Amrita’s element when she puts out Shiva’s fire and how her doing so isn’t more significant. That said, she is a rare female villain who isn’t sexualized.

Interestingly, although the visual effects compare unfavourably to even what one would see on a mediocre show like The Falcon and the Winter Soldier , the unreality of the film means they fit right in and are in fact transformed into quite the spectacle. The action is a major highlight.

The prologue is quite effective. Shah Rukh Khan’s extended cameo is a pleasure to watch in spite of the dialogue and in spite of the strange choice to cast him as someone harnessing the power of an animal as mischievous and lightfooted as a monkey. Watching him ‘charge up’ the astra as he prepares to jump made me grin with delight, and it’s a triumphant moment when he takes on the shape of Hanuman (never mind that the villain jumps about and screeches like a monkey with the same astra).

The first appearance of Nandiastra, where Aneesh revives himself, races to a wall, and sends his opponent flying in a flash, leaves a vivid impression; so does his awe-inspiring second use of the astra, against the truck. Guru joining the climactic fight is a rousing moment, and Zor glancing up from vanquishing Shiva to see Guru alive and standing there with a grim look on his face had me cheering. Tenzing and the others working together to stop Junoon from getting the last piece when all seems lost is a good moment.

I must also say that the film understands the grammar of superheroes to a much greater extent than even the boring Eternals . What it lacks is not intent but everything else. There’s a true epic straining to escape the subtly divisive and insular disaster that made it to the screen, with its unpleasant music, tedious desperation to present Shiva as a hero, and nauseating romance (after which I’d be happy for one or even both of them to die). There’s no justification for it after all that time, money, and effort.