MY KOLKATA EDUGRAPH
ADVERTISEMENT
regular-article-logo Thursday, 05 March 2026

‘O’Romeo’ review: Shahid Kapoor is Charlie, Haider and Kabir Singh combined in a tale of love and violence

Also starring Triptii Dimri, the Vishal Bhardwaj directorial features Avinash Tiwary as the antagonist

Agnivo Niyogi Published 13.02.26, 02:55 PM
Shahid Kapoor and Triptii Dimri in ‘O’Romeo’

Shahid Kapoor and Triptii Dimri in ‘O’Romeo’ File picture

Vishal Bhardwaj’s filmography largely covers reimagining tragic love stories and moral conflicts through a distinctly Indian lens. From Maqbool to Haider, his cinema has thrived on poetry and flawed men standing at the edge of their own ruin. With O’Romeo, he returns to the familiar terrain, but mounted on a massy scale this time.

Set in the 1990s when Mumbai (then Bombay) was synonymous with underworld dons and police encounters, Bhardwaj stages a love story. The first half belongs entirely to Shahid Kapoor’s Ustra. Bhardwaj gives him an entry that borders on theatrical excess: almost every time Romeo appears, blood splatters.

ADVERTISEMENT

Ustra lives in the wreck of a ship off Mumbai’s coast, carrying out extrajudicial killings at the behest of Inspector Khan (a poker faced Nana Patekar). Why a dreaded gangster works as an unofficial aide to the police is one of the film’s more intriguing sub-plots.

Shahid’s performance is deliciously loud and magnetic. You can see echoes of his past performances — Charlie in Kaminey, Haider in Haider, even a hint of Kabir Singh.

Enter Afsha (Triptii Dimri, back in her performance-driven avatar). She approaches Ustra for a ‘supari’ to kill Jalal, Mumbai’s alleged kingpin, played by an unrecognisable Avinash Tiwary, who had murdered Afsha’s husband Mahmood (Vikrant Massey in a cameo appearance).

The second half shifts the narrative towards the romance between Ustra and Afsha. This is where the screenplay begins to lose its steam and coherence. Ustra is introduced as a reckless man who sleeps around, lives violently and carries little visible emotional burden. His sudden transformation into someone willing to sacrifice everything for Afsha feels abrupt. The leap from detachment to all-consuming love lacks gradual build-up. As a result, when he wages war for her, it feels half-baked.

That emotional disconnect becomes the film’s recurring flaw. You admire Shahid’s performance — particularly when he is unhinged and drenched in blood — but you struggle to root for him once the narrative demands romantic vulnerability. The writing simply does not earn that shift.

The same goes for Tiwary’s Jalal. On paper, he is a menacing ganglord. But on screen, that menace rarely materialises. Despite Tiwary’s performance, Jalal never quite feels larger than life.

To the film’s credit, it does capture 1990s Mumbai with convincing production design. The dialogues are sharp, often laced with dark humour. But the film’s climax, set in Spain, is underwhelming. A climactic bullfight hardly delivers the emotional closure you’re hoping for after nearly 180-minutes of runtime. The pacing is an issue as Bhardwaj often gets indulgent with his poetic storytelling. The songs add to the mood but also to the length. And not all of them move the story forward.

Follow us on:
ADVERTISEMENT
ADVERTISEMENT