Michelle Young on the beach in Mexico on proposal day on “The Bachelorette.”
PHOTO CREDIT: All photos except screen grabs Craig Sjodin/ABC

SPOILER ALERT: IF YOU DON’T WANT TO KNOW WHO MICHELLE PICKED ON THE BACHELORETTE FINALE, STOP READING NOW!

You could say Michelle Young’s season finale was a textbook end to a “Bachelorette” season in the sense that she dropped the guy who seemed perfect for her and kept the one who was raising red flags.

That producers made it look like Brandon Jones stood a chance of getting the girl is another feather in their caps, I suppose, although it did seem inevitable that someone so heart-on-his-sleeve sincere was bound to be disappointed.

And oh boy, was he disappointed. On a scale of one to 10, the emotional brutality of that breakup was like a 20.

It always seems so pointlessly cruel to let a dude walk up in his best suit, an engagement ring burning a hole in his pocket, give a flowery speech declaring his love and then have the Bachelorette tell him sorry, I’m just not that into you.

You have to assume she knows where her heart lies before she hits the beach, or wherever the proposal happens, so why not head off the unlucky runner-up at the pass?

Well, for the drama, that’s why. And on Tuesday, we got to watch a solid eight minutes of agony, both his and hers, as Michelle told Brandon — just after he told her she was the “missing piece” he’d been searching for his entire life — that her heart had taken her in another direction.

But don’t worry, Brandon told host Kaitlyn Bristowe on “After the Final Rose” that he’s doing good and that he wants Michelle and Nayte Olukoya to be happy, and he seemed like he meant it.

As for Nayte, yes, I was as skeptical as the next person. How does a dude who claims never to have been in love before, who comes from an emotionally constipated family, make a lifetime commitment to someone he’s known for mere weeks when no one else seems to believe he’s ready for it?

Well, Michelle is a really smart woman and if she says Nayte is in it for the long haul, who the hell are we to doubt her?

In any event, the producers seem to have so much faith in the relationship that they gave Michelle and Nayte a $200,000 down payment for a house on “ATFR” — in Minnesota naturally, you think she was going to move for a guy?

Let’s just hope they patronize a different grocery store than the one used by Joe Coleman and his family.

Anyway, let’s backtrack and recount how Michelle got to her happy ending.

If you’d tuned in just for the “meet the family” part of the finale you would have been shocked as hell that Brandon lost.

Has a family ever loved a member of the final two as much as Michelle’s family loved Brandon? It seems unlikely.

They had already met him, of course, during that one-on-one in Minneapolis when her parents “surprised” Michelle and Brandon in the hot tub in her folks’ backyard. And Brandon charmingly brought dad Ephraim a pair of swim trunks to replace the ones he’d borrowed that day.

Brandon couldn’t have answered his and mom LaVonne’s questions any more agreeably if he’d had somebody from production coaching him on the sidelines.

No, he wouldn’t be threatened by Michelle finishing her master’s degree and becoming a school principal. “My mom in my family is the powerful woman.”

Yes, he was in love with Michelle, “the most incredible woman I’ve ever met in my entire life.”

Yes, he’d be thrilled to move to Minnesota. “I just want to marry her so bad.”

LaVonne Young bestows a welcome-to-the-family kiss on Brandon Jones.

LaVonne bestowed not one, but two cheek kisses on Brandon and beamed, “I would be so happy if you’re here in the end.”

Brandon was the “best friend” that Mom and Pop wanted her to marry.

And Nayte’s time with the Young fam? Awkward, at least the way it was edited.

He was vague about moving to Minnesota, telling Michelle’s sister Angela, “The thing about me is I’m all about the adventure. I’ve moved so many times in my life.”

To LaVonne, he said things like, “My mind and heart are definitely pointing at Michelle,” not exactly a declaration of undying love.

LaVonne told him point blank she didn’t think he was ready to get engaged and shared that sentiment with Michelle, which had Michelle saying she had to “reassess” things with Nayte.

Naturally that meant that when it came to the final dates with the final two, Brandon got the chill zooming around on Jet Skis date and Nayte got the uncomfortable “sacred ritual to make you spill your guts” date.

Brandon got the sun, fun and surf date; Nayte not so much.

There’s no point rehashing all the smiles, smooches and declarations of Brandon’s true, true love on his date. The most significant part — other than Brandon gifting Michelle with the sweatshirt he’d been wearing when they had their fantasy suite food fight — was her telling Brandon she was in love with him too.

Up till that point, the fact Michelle was already “in love” with Nayte but just “falling” with Brandon made the ending seem like a foregone conclusion.

I would never accuse Michelle of telling a fib — she seems far too principled for that — but what a gift to production! Despite Nayte having been the clear favourite for weeks, maybe Brandon did have a chance of being the last man standing or so it seemed.

Raul guides Michelle and Nayte in telling each other how they feel.

On their date, Michelle took Nayte to a “sacred place” where a shaman named Raul got them to waft smoke on each other and share their innermost feelings, although he sensed a “blockage” in Nayte.

Well duh, the man had already confessed to being raised in a home where emotions weren’t expressed and “I love you” wasn’t said. It takes more than sacred smoke to counteract that. And I get that you have to go beyond platitudes if you’re planning to marry somebody, but this show makes almost a fetish of the concept of “vulnerability.”

Michelle said in her voice-over that if Nayte stopped trying to pull down his walls it would be a “deal breaker.” Dunh dunh dunh.

Luckily, Nayte was more forthcoming when he and Michelle were alone in his suite. “All I do, all I do is think about life with you, that’s all I do,” he told her. “I think what’s scary is just looking at you right now knowing like, hey, I might wake up tomorrow and just never be able to see you again, you know? That’s scary as hell.

“So as crazy as it is for me to get down on one knee, I am more than ready to do that with you because I want this to be forever, you know?”

She did know. She left Nayte’s room saying, “I think my heart is telling me that this is my person.”

So Brandon was a goner then except, conveniently, there was a letter from Brandon waiting when Michelle got back to her suite — and I don’t blame the conspiracy theorists out there for suspecting production wrote it for him.

It talked about how “a world without you is a world I fear to face” and how he’d always place her happiness above his and he’d love her forever and he’d always see her, etc. Just the sort of thing you want to read the night before you dump someone.

So the narrative the next day, as Nayte and Brandon picked out engagement rings, was that Michelle was confused and her heart torn.

Production threw one more red herring our way by having Michelle say in voice-over as we watched her walk barefoot across the sand to the proposal platform that she was following her heart and was “never going to feel unseen again,” a clear callback to the words in Brandon’s letter.

But of course it was Brandon’s SUV that pulled up first.

Michelle and Brandon tearfully embrace after she dropped her bombshell.

There were so many heartbreaking moments to choose from as Michelle broke up with Brandon, while reassuring him that she still loved him — at least the ones we could hear since the crashing waves drowned out much of the sound, leading viewers to scramble to turn on closed captions.

“Giving you my heart was worth it. It’s something I’ll never regret,” said Brandon while struggling to hold back tears. But tears there were, many, on both their parts.

“I’m just so broken,” he said and there was nothing fake about that.

Michelle had dried her tears by the time Nayte arrived, vowing to make sure she was “always chosen first, seen now and today, tomorrow and for the rest of our lives.”

“I love you with my entire heart,” Michelle told him, adding that her soul mate “is definitely standing right in front of me.”

Yes, of course Nayte proposed to Michelle.

Nayte got down on one knee, pulled out the pear-shaped Neil Lane sparkler he’d chosen, and they were engaged and giddy with happiness.

“This is my soul Nayte,” declared Michelle.

A mariachi band serenaded them, and Kaitlyn and Tayshia Adams ran down the beach cheering to congratulate them (I must say I always get a kick out of that part).

So are they still happy and in love?

It sure looked that way on “After the Final Rose,” which Kaitlyn hosted solo since Tayshia had been exposed to COVID-19.

Michelle reassured Kaitlyn and everybody else that not only was Nayte continuing to let his guard down in their relationship, “he’s more vulnerable than me.”

“I really can say I’ve never been with somebody who makes me feel so beautiful truly inside and out,” Michelle said.

Perhaps, most importantly, mom LaVonne and the rest of the Young clan had fallen in love with Nayte too. And LaVonne was now “besties” with Nayte’s mom. They were in the live studio audience, which went from unmasked to masked about 40 minutes in after viewers complained about the lack of COVID precautions on Twitter.

So simmer down, doubters. Nayte might not have been your pick, but he and Michelle seem as happy as any couple who got together on a dating show can be. Plus he’s Canadian, so I have to support him, eh?

Now, for Brandon. And I apologize for the length of this recap, but damn you to hell three-hour finales!

Brandon and Michelle reunite for the first time since their breakup.

He was gracious while speaking with both Kaitlyn and Michelle, saying he’d always love Michelle but was thankful she’d found her person.

The only hint of frustration came when he said he felt “like a little bit my love was overlooked” and found it confusing that “you really had to push Nayte to that point . . . you never had to push me.”

Maybe we’ll see Brandon again on “Bachelor in Paradise” next summer, although part of me feels like he’s too pure for it.

Speaking of seeing people again, Kaitlyn also brought out the next Bachelor, Clayton Echard, “a man who does need an introduction because nobody knows who he is.”

That’s not true, though. We all know who Clayton is, at least on a surface level. We just don’t understand how he got to be the Bachelor.

Kaitlyn had Clayton read mean tweets about himself, some of which viewers thought were fake.

I will say that Clayton was a good sport. “I kind of wanted this too,” he said in response to the tweet “All I want for Christmas is for Rodney to be the Bachelor. #SantaSucks.” And he laughed really hard at one that read, “I hope Clayton uses protection in the fantasy suites, otherwise 9 months later there are gonna be a lot of baby Shreks running around.”

We also saw the steamy, bitchy, tear-filled promo for Clayton’s season, the one that gives away all the drama by revealing that he told all of the final three he loved them and was “intimate” with at least the final two.

Who am I kidding? I may not be excited about it the new season, but I’ll be recapping it, starting with the Jan. 3 premiere. So check back here Jan. 4 and, until then, have a safe, happy holiday.

And you can comment here, visit my Facebook page or follow me on Twitter @realityeo