Rani Mukerji in a poster of Mardaani.

Gritty is not the adjective that comes to mind when you think of director Pradeep Sarkar or producer Yash Raj Films. So the first few minutes of Mardaani are startling.

Mardaani is about Shivani’s pursuit of a teenage girl abducted by child traffickers. Her investigation leads her to an unusual criminal — an educated teenager named Karan.

She calls him ‘Under-19 team ka 12th man’. He addresses her as ‘Ma’am’. The stage is set for a deadly cat-and-mouse game, leading to the inevitable climactic confrontation.

The best thing about Mardaani is the performances, led of course by Rani. She imbues Shivani with steely resolve but also gives her emotional depth. There is a wonderful pre-interval scene in which her family gets caught in the cross-fire.

Shivani suffers a body blow but doesn’t give an inch. It’s also exhilarating to watch Shivani clobber goons. At one point in the climax, I clapped.

Casting director Shanoo Sharma has found the right supporting players. Tahir Bhasin as Karan has an unhinged menace, even though Tahir’s adoration of Breaking Bad (he likes to call himself Walt) seems like a desperate bid for coolness.

Post-interval, the story derails considerably. By the time we get to the climax, we are fully in avenging angel territory. And, just like in Singham Returns last week, the solutions suggested are problematic.

Which is a shame, because this could have been so much better. In the rating above, one star is for Rani who, like fine wine, is only getting better.