Therese (pronounced Ter-rez) Belivet (Mara) is young, has a devoted boyfriend, Richard (Lacy), works in a department store, but is unsure of her future. One day a female customer in the store engages her in conversation, and even though the customer makes mention of being married with a young child, it’s clear to Therese that there’s a mutual attraction. When the woman leaves her gloves behind, Therese goes to the effort of finding the woman’s address and sending them to her. This act of kindness leads to the woman, whose name is Carol Aird (Blanchett), inviting Therese to lunch. They meet, and a friendship begins, one that starts to cause problems between Therese and Richard, as she begins to lose interest in a planned trip to Europe with him, and spends more time with Carol.

Unbeknownst to Therese, Carol and her husband, Harge (Chandler) have separated due to his awareness that his wife has had an affair with her best friend, Abby (Paulson). Willing to overlook this “indiscretion” if she stays with him, Harge warns her that if she doesn’t then he’ll seek sole custody of their little girl, Rindy. With Xmas approaching, he takes Rindy to his parents for the holiday period; Carol decides to invite Therese to come stay with her. Although nothing happens, Harge returns home unexpectedly and sees them together. Fearing that Carol is embarking on another lesbian relationship, he files for divorce and sole custody of Rindy. Unable to see her child until the custody hearing, which will take two or three months to happen, Carol invites Therese on a road trip, where they can spend some time together, and where Harge can’t find them.

They stay in a succession of motel rooms, at first staying in separate rooms. At one particular motel they stay in the Presidential suite; the next morning, Therese gets to talking with a travelling salesman called Tommy (Smith). Although he tries to sell them something from his sales kit, he has no joy, though Therese wishes him well in the future. At the next motel, she and Carol finally make love. But a telegram Carol receives the next morning reveals Harge’s awareness of where she is, and the fact that she and Therese are now lovers. Unable to risk the now serious possibility of losing the custody hearing, Carol decides she has to return home to face Harge, and sends Abby in her place to see Therese gets home safely. But for both women, returning to their old lives proves unsatisfactory…

There’s a moment in Todd Haynes’ beautifully crafted Carol, an adaptation of Patricia Highsmith’s novel The Price of Salt, when it looks certain that the title character and Therese will make love for the first time. It’s a moment that the movie is clearly heading toward, and it’s a moment that audiences will be expecting, but Haynes, along with screenwriter Patricia Nagy, holds off from that first time and maintains the sense of anticipation that both characters (and viewers) must be feeling. For the audience, it’s also a moment – among many others – that shows just how much control Haynes has over both the material and its emotional centre, and how finely calibrated it all is, for Carol is without a doubt, one of 2015’s finest movies.

Of course, with previous projects such as Far from Heaven (2002) and the TV version of Mildred Pierce (2011), Haynes has already shown an affinity for what used to be termed “women’s pictures”, but here his immersion in a time – the 1950’s – when lesbianism was still something to be kept hidden, and where male attitudes towards the issue were still highly aggressive, feels also like a snapshot of an era where female empowerment was beginning to gain the upper hand, despite the so-called Lavender Scare that was prevalent at the time. Through Carol’s determination not to be defined by her sexuality, we get to see an example of what, in historical terms, was a turning of the tide, and also a love story that is simply that: a love story.

This simplicity is at the heart of Haynes’ confident handling of the story, and it shows in every scene, with every look and every gesture, and in the way that he brings Carol and Therese together within the frame – these moments where they’re “close but not touching” are so charged with pent-up emotion and increasing desire that the idea that they might be kept apart by Harge’s machinations becomes intolerable. These scenes are so expertly handled, with repressed longing so forcefully expressed, that the viewer is swept along with the characters’ desire to live freely and without sanction. Haynes makes great use of the era’s sense of propriety, using it as a touchstone against which Carol and Therese’s affair can be measured in both intensity and necessity. Therese quizzes Richard about same sex relationships but he has no point of reference, and has no understanding of why they occur; he loves her unequivocally but can’t see that two women – or two men for that matter – might feel the same way about each other as he does about Therese. It’s another of those moments where the audience can see just how difficult it was to live a life outside the (perceived) norm.

With the historical and social background of the story firmly in place, and with Nagy’s script making it clear that lesbians were expected to pretend to be happy in heterosexual relationships or face the social consequences, the movie paints an honest portrait of two women, both of whom gain increased confidence in themselves through their relationship, who come together at a point in both their lives where they’re looking for a way to find future happiness. That they find it in each other, if only briefly, and with such passion, gives value to the idea that any relationship is worth pursuing or fighting for. And even though Carol leaves Therese to fight for custody of her child, it’s not the end of their affair, but rather an interruption (albeit for Therese an unexpected one), and even though the younger woman is upset by it, her feelings remain, and though the movie tries for an air of ambiguity in its final scene, viewers won’t be fooled at where Carol and Therese’s relationship is likely to find itself.

The difference in ages might feel like it should be an issue but it’s left unexplored, and with good reason: it doesn’t matter. Love is love, and though an argument could be made that Therese is looking for a guide or a mentor first and foremost, it’s not the role Carol adopts in their relationship. As the “older woman”, Blanchett gives yet another astonishing, awards-worthy performance, striking the right balance between heartfelt longing for an honest life and acknowledging the difficulties that longing entails. Her brittle, striking features show the pain of Carol’s situation without too much need of more overt playing, but in those moments when overt emotion is required, Carol’s fears and hopes are etched indelibly on those striking features. It’s a magnificent performance, sincere, heartbreaking at times, and riveting.

She’s matched by Mara, whose portrayal of the unmoored, ingenuous Therese is so finely tuned that watching her blossom, however slowly, into a stronger, more confident young woman is like watching a flower grow out of the shadows to its full height. There are moments where the camera focuses on her smooth, unlined features and the only expression is there in the eyes, but Mara uses this approach to such good effect that the viewer is never in doubt as to what Therese is thinking or feeling. And as the movie progresses, Mara subtly shifts the weight of Therese’s longing for love so that it becomes a part of her, and not the whole, leaving her a character as strong in her own right as Carol is in hers.

With two such commanding performances, it would be a shame if the supporting cast were overshadowed, but Chandler, in what is superficially the “villain” role, brings out Harge’s pain and sense of loss over Carol with such force that his actions are less stereotypical than expected and driven more by his own deep love for her. In the same way that society says Carol can’t have Therese (in public at least), it also says that Harge can’t have Carol because of her “sexual impropriety”. Both characters are in danger of losing what they want most, and both are suffering as a result. Chandler is unexpectedly moving in the role, and his scenes with Blanchett are so emotionally charged it’s like an intense version of force majeure. Meanwhile, Paulson comes late to matters as Abby, but gives a brief but potent performance as Carol’s longtime friend, confidant and ex-lover, filling in the gaps of Therese’s knowledge about Carol, and providing further context for Carol’s emotional and sexual desires.

It’s all beautifully filmed by Edward Lachman, with lots of bright primary colours mixed in with rich earthy tones, making the period seem so alive as to be almost intoxicating, and acting as a dynamic background to the impassioned nature of Carol and Therese’s relationship. There’s some equally impressive attention to historical detail, and Haynes makes the era come alive as a result; this is a fully realised world, even if it does appear at first to be bathed in nostalgia (the scenes in the department store appear right out of a Fifities child’s fantasy of what such a store should look like), but in many ways it was a simpler time, and the script reflects this with aplomb. And the whole thing is embraced by a smoothly nonchalant yet spirited score by Carter Burwell that complements the on-screen proceedings with well orchestrated brio.

Rating: 9/10 – a firm contender for Movie of the Year, Carol is a masterpiece of mood and repressed emotional yearning, with two outstanding performances, and a director on the absolute top of his form; a model of period movie making, and rewarding in every department you can possibly think of, this is a movie that should go to the top of everyone’s must-see list.