Blimey! This makes quite a change from the usual fluffy period drama, and reminded me most of Hunderby, Julia Davis' subversive sitcom on Sky. Yeah, the period piece with the pervy potty mouth and a penchant for 'bubbly milk'.

Based on the novel Lady Macbeth of the Mtsensk District by Nikolai Leskov (no, me neither), here screenwriter Alice Birch relocates the story from Russia to England - 19th Century Somerset, to be precise. Somewhere a woman is supposed to know her place.

It's 1865 and Katherine (a hugely impressive Florence Pugh) is miserable in a loveless arranged marriage to a pretty appalling man twice her age, whose family make a virtue out of being gruff, uncommunicative and sexist.

When she embarks on a bum-grabbing affair with stable groom Sebastian (Cosmo Jarvis), a young worker on her husband's estate, it awakens much more than sexual desire, and pretty soon Katherine's on a mission.

Her sexual adventures give her the confidence to flaunt her lover and take over the estate in her husband's absence, much to the disgust of some staff. But as her cockiness increases and her husband returns, she begins to assert herself with extreme prejudice.

The film plays with its audience from the start, but as the story develops it's almost hypnotic to watch Katherine swap silent victimhood for nihilistic revenge. And at 89 minutes it's an ideal length: Hollywood take note.

Ultimately, Lady Macbeth makes Wuthering Heights resemble a Famous Five adventure where everyone ends up scoffing creamed scones and having a jolly good time. Even a horse gets murdered here.

This is a delightfully seditious film that hands patriarchy a right good kicking, and deservedly so. Given the quality of the men around her, Katherine was certainly justified in her endeavours.

This is a date movie with a difference.

We need your consent to load this YouTube contentWe use YouTube to manage extra content that can set cookies on your device and collect data about your activity. Please review their details and accept them to load the content.Manage Preferences