The theatrical version of crime writer Patricia Highsmith’s first novel, Strangers on a Train, is ingeniously staged at Cambridge Arts Theatre.

David Woodhead’s set opens with a train. It changes to old mansion houses, a snazzy flat and finally a rail yard with billowing smoke.

This is a splendid setting for some bravura performances and a glorious session of high drama.

Chris Harper (as seen on Coronation Street as well as Shakepeare’s Globe) is inspirational as the villain Charles Bruno. Here is a masterclass in menace, mania and humour. He wrings the last ounce out of every line. His interpretation is definitive and will never be bettered.

Jack Ashton (The vicar in Call the Midwife) playing the hapless Guy Haines, changes wonderfully from a happy and confident young man, to the harrowed anti-hero as he realises he has stumbled into a deep pit he cannot climb out of.

The story, written in 1950, was an instant success and became a Hitchcock film the following year. Highsmith went on to write a series on Mr Ripley.

Strangers has two men meeting for the first time as passengers on a train. As they talk about people who irritate them, one, the insidious, Charles Bruno who has foisted his company on the other, suggests swapping murders so the crimes can never be traced back to them. The other, the hapless Guy Haines, casually laughs and says yes thinking it’s a joke. He is shocked later when he finds Bruno has kept his side of this devil’s deal.

Worse than that, Bruno now stalks Haines and even turns up at his wedding.

Great supporting performances here from Helen Anderson as Elsie, Bruno’s mother and Hannah Tointon as Anne Faulkner, Haine’s bride.

The piece has a great rhythm to it as if the whole thing is being performed during a train journey, with a fast pace and the scenes constantly shifting. An intriguing night at the theatre with masters of the craft.

Strangers on a Train is at Cambridge Arts Theatre until Saturday, March 3.