Slowly, surely, and not a moment too soon, transgender characters and stories are appearing more regularly on our larger stages. And Jon Brittain's play had more than a little to do with paving the way. After a debut at Theatre503 in 2015, Rotterdam had a sell-out run at New York's 59E59, before winning an Olivier at this year's awards. Now, a West End transfer will bring the conversation it started to a whole new set of theatregoers. And they're in for a treat; this is a production of rare elegance and heart.

On New Year's Eve in Rotterdam, Alice is about to come out as gay via email to her parents back home. But as her finger hovers over ‘send', her long-term girlfriend Fiona reveals that she is transgender and wants to transition and live as Adrian. The story that follows is of course one of gender identity and expression, sexuality and self-acceptance. But perhaps most of all, it is a story about love. Who we love and why, how we love them, and how hard we'll work to keep loving them. And to keep them loving us back.

The firm foundation of this astounding production is Brittain's script. Sharply observed, moving and very funny, he presents the couple's tangled journey without fetishizing or patronising, without voyeurism or soapbox polemics. Instead there are moments of desperate confusion and almost unbearable pathos, silent sacrifices brimming with love, and relatable nods to the minutiae of long-term relationships, both exasperating and tender – Alice suggests that Adrian try a binder to flatten his breasts "as long as it doesn't set off your eczema".

Alice and Adrian are exceptionally drawn and the actors responsible are utterly convincing from the off. Alice McCarthy's Alice grows from nervy control freak, unsure of her identity, to a woman of courageous self-assurance, all while delivering some of the play's funniest lines. "Fuck work!" is her uncharacteristically spontaneous shout as she considers leaving Rotterdam. Followed by a perfectly timed "I mean I'll probably take compassionate leave. And I'll have to come back to work out my notice period." Meanwhile, Anna Martine Freeman gives Fiona the twitching physicality of somebody living in a body they can't accept, and builds within Adrian a barely-contained hurricane of excitement, pain and longing.

Ed Eales-White also gives a deft performance as Adrian's straight big brother Josh, the character whose lame jokes and fumbling metaphors about equality belie the fact that he has a greater natural capacity for love and acceptance than everyone else put together. Ellie Morris is also excellent as Lelani, a young gay woman with a troubling mix of aspirational self-acceptance, fun, naivety and prejudice.

Donnacadh O'Briain's direction is superb – insightful, energetic and perfectly-paced thanks to the near-constant presence of physical humour, and some slick scene changes, made to banging EDM, which become mini-scenes in themselves.

The visual elements of Adrian's changing identity are dealt with sensitively, and at times to heartbreaking effect. In one scene, Adrian, desperate to hold onto Alice, rips his clothes off and, in a fit of self-loathing, downs whisky and dons a dress and heels before collapsing onto Josh, the picture of pain.

But while there are many difficult moments like this, Rotterdam's central tenet is never far away. And while I won't reveal how Alice and Adrian's story ends, I will say that, in many ways, love wins.

Three curtain calls from the cast and many audience tears later, I spilled out into the streets among a crowd as happy as I was that this very important story is being told so very brilliantly.

Rotterdam runs at the Arts Theatre until 22 July.