In his latest film, based on the 1952 Patricia Highsmith novel The Price of Salt and adapted by Phyllis Nagy, director Todd Haynes devotes as much time to the foreground as he does to prettying up the background. A soft focus haze (gently filmed by cinematographer Ed Lachman) envelops this 1950s story of forbidden love between two women – Therese, who works at a department store, and Carol, an older, married woman.

The film opens with a Brief Encounter-inspired scene in which the camera follows a young man into a bar. He stops on his way out when he spots two women sitting at a corner table. We return to this scene much later, with the camera now stationed at the table presenting an alternative point of view, which reveals the mood, emotions and passion in the moment interrupted by that young man.

Haynes now takes us back in time. It’s the week before Christmas, and Carol Aird (Cate Blanchett) is doing some last-minute shopping for her daughter. Across the shop floor, sales assistant Therese Belivet (Rooney Mara) is transfixed the minute she spies Carol, this elegant suburban lady with movie star grace. The feeling is mutual.

Therese discovers that Carol has left her gloves behind – by chance or design? It’s an old trick and useful for any seduction. Therese, an aspiring photographer, is more inclined to take a chance on the owner of these gloves than to accept a marriage proposal from her boyfriend.

This is a fashionable New York City, where the class divide is still palpable and same-sex relationships are taboo. While two women can be friends and openly enjoy each other’s company, an affair between the two is met with shock. Carol and Therese are drawn magnetically to one another – the risk in their relationship is an added attraction.

Carol’s intimate relationship with old friend Abby (Sarah Paulson) and her proximity to Therese are deal-breakers for her estranged husband Harge (Kyle Chandler), who invokes the morality clause during divorce proceedings to gain custody of their daughter. Already battling prejudice, Therese and Carol now face a test of their feelings for each other.

A showcase for the towering talents of Blanchett and Mara, Carol is a sumptuous watch. Blanchett’s coldness and occasional aloofness are offset against Mara’s portrayal of Therese, who is vulnerable at times, displaying controlled devotion at others, and occasionally wide-eyed at her own unfettered self-discovery.