The “Fifty Shades” film franchise is a study in contradictions. It’s kinky, but conservative. It’s filled with plot, but none of it means anything. The adventurous sex turns out to be fairly vanilla monogamy. The films are bad, but they are entertaining. “Fifty Shades Freed,” the final film of the trilogy, just might be the most competently made yet — which is a shame for those expecting the high camp factor of “Fifty Shades Darker.”

The “Darker” writing and directing team is back for “Freed,” with Niall Leonard, E.L. James’ husband, adapting his wife’s erotic novel for the screen, and James Foley taking on directing duties. In “Freed,” Seattle book editor and weekend sexual submissive Anastasia Steele (Dakota Johnson) has managed to pin down her dom daddy Christian Grey (Jamie Dornan) — in holy matrimony. Their relationship has always more of a power struggle than a partnership.

The plot, which drifts from scene to scene, casually inserting kidnappings and car chases among the lavish vacations and sexy romps, involves Anastasia’s former boss, Jack Hyde (Eric Johnson), seeking revenge on the recently married couple. He was fired after attempting to sexually assault Ana, but it turns out he’s got a much longer history with the Grey family than they thought. When Jack isn’t abducting members of their family, Christian and Ana struggle to decide when or if they’ll have children, which is definitely a question one should have thought to bring up before the fairy-tale wedding and European honeymoon.

Christian, who has all the charm of a textbook narcissistic psychopath, wants to keep Ana to himself, wants her life to “begin and end” with him and pouts that babies ruin sex. When she declares, “you’re my whole life,” it’s presented as a romantic declaration, not a giant red flag of an emotionally abusive relationship. The film might as well be called “So I Married a Sociopath.”

Ana seems to know this, and she seems to be OK with it, flipping every troublesome spat into another excuse for him to sexily punish her in their play room. But processing all of your problems through sex isn’t healthy, and in one moment, Christian crosses the line, anger, not love, motivating his actions. It’s the film’s one exploration of necessary boundaries in a BDSM relationship. Otherwise, the dom-sub thing extends too far, as Christian controls every aspect of Ana’s everyday life. She exchanges her freedom for this fantasy life of preposterous wealth.

The written relationship in the script might scream “toxic,” and Ana is often just a powerless pawn in the games of men, but as usual, Dakota Johnson makes the otherwise boring Ana sparkle. She is the MVP of “Fifty Shades,” with more than enough insouciant charm to make up for Dornan’s dour performance, and she never takes the material too seriously — see her shocked and silly reactions to the new sex toys he suggests. She even has the ability to deliver an angry, character-defining monologue while topless and pulling on pantyhose.

It’s a relief Johnson is now free to brighten up better projects that are more worthy of her talents. We’ll never forget the challenges that were thrown her way in these films, not just physically. What could have perhaps been even more difficult than the sex scenes were those extra-cheesy double entrendres, which Johnson managed to earnestly deliver with both a smile and a wink. Brava.

MOVIE REVIEW

“Fifty Shades Freed”

Grade: C

Starring Dakota Johnson, Jamie Dornan and Eric Johnson. Directed by James Foley.

Rated R for strong sexual content, nudity, and language. Check listings for theaters. 1 hour, 45 minutes.

Bottom line: The third film is maybe the most competently made