starstarstarstar-outline(3 stars)

The faces of Kevin Costner and Diane Lane are given equal prominence on the poster for “Let Him Go” — next to the long barrel of a gun and a house on fire — but it’s Lane who gets top billing, deservedly, in this surprisingly gripping and moving modern western about two mothers, at odds over the fate of a small boy.

Technically there are three maternal characters involved, if you count the little boy’s mom: Kayli Carter plays Lorna, the daughter-in-law of Lane and Costner’s Margaret and George Blackledge, married to their son James (Ryan Bruce) at the start of the film, and the mother of their grandson, Jimmy (Bram and Otto Hornung), around whom the plot of the film revolves. But the young woman is not what you’d call a memorable presence. After her husband is killed in a riding accident, Lorna — mousy, unconfident and sullen, in a way that doesn’t evoke much sympathy — enters into an ill-advised second marriage, leaving the comfort of the Blackledges’ Montana ranch and running off to a remote corner of North Dakota with an abusive man-child named, appropriately enough, Donnie Weboy (Will Brittain), without so much as a warning, goodbye or forwarding address.

The story’s other formidable mother is Blanche Weboy, Donnie’s mother, played by the great Lesley Manville (“Phantom Thread,” “Ordinary Love”) as the psychologically domineering matriarch of a rural clan that has been terrorizing all who come into contact with them for years.

But this is Lane’s movie, hands down, and the actress is never less than magnetic — an alloy of iron will and steel spirit — as she determines, after witnessing Donnie strike Lorna in public shortly after the marriage, to track them down to the Weboy homestead, where Donnie, Lorna and Jimmy have been drawn by Blanche’s gravitational pull. George, a taciturn retired sheriff, agrees to come along for the ride, ostensibly so that Margaret can say goodbye to Jimmy. (The title “Let Him Go” can be read in multiple ways, depending on to whom the phrase is intended — Blanche, or perhaps even Margaret — and the meaning of “him.” As the story plays out, it becomes clear that there’s been no closure to Margaret’s loss of her son James, let alone her grandson Jimmy.)

Based on Larry Watson’s 2013 novel, set in the 1950s, “Let Him Go” is not a revenge/rescue movie per se, although it certainly sounds like one, and it does bear more than a few narrative similarities to the genre. There are flashes of violence, at one point quite gruesomely so, and George will eventually see his very particular set of skills as a former lawman come in handy. The first showdown between the Blackledges and the Weboys, over plates of Blanche’s pork chops, is charged with dialogue that drips with menace and condescension — congealed by the counterpoint of Margaret’s icy resolve. It’s an acting showcase for both Lane and Manville.

But the film’s most satisfying developments take place at the edges of the main story, and concern Margaret’s relationships: her marriage to George — there’s a hint of a history of alcohol abuse in his past; her new friendship with a young Native American man (Booboo Stewart) the Blackledges run into on the plains, and whose aid Margaret will require; and, finally, Margaret’s coming to terms with James’s death, and her willingness to repair the relationship with Lorna.

Writer-director Thomas Bezucha (“The Family Stone”) adopts a form of storytelling — methodical, unfancy, yet always sure-footed — that seems appropriate to its no-nonsense protagonists. With Margaret as the stolid mama bear of the story, “Let Him Go” takes on a greater heft than its more thriller-ish contours seem built to handle, but Lane carries the additional weight with aplomb.

R. At area theaters. Contains violence. 113 minutes.