Just like Kitty herself, To All the Boys spinoff XO, Kitty is juggling a lot of plates in season 2.

Advertisement

Kitty's ex Dae and her bestie Q are enjoying adorable love-fests with new characters called Eunice and Jin, while Kitty herself struggles to deal with whatever's going on with Stella, her not-so-innocent new roomate.

That's before we get to the mystery around Kitty's mother and what really happened with her in Seoul all those years ago.

But what everyone really wants to know most, including Kitty herself, is who she's going to end up with by the end of season 2.

The ongoing love triangle between her, Yuri, and Min-ho (more like a love square if we also include Juliana) is what we're all obsessed with, after all.

So, does Kitty find love with who you hoped for? Does she end up with anyone at all? And is there hope for a third season?

To all the fans who need to know more, here's how season 2 of XO, Kitty comes to an end – beware full spoilers.

XO, Kitty season 2 ending explained: Who does Kitty end up with?

Anna Cathcart as Kitty Song Covey, wearing a plaid dress, smiling
Anna Cathcart as Kitty Song Covey. Netflix

The eighth and final episode of XO, Kitty season 2 starts on a very happy note with the news that her long estranged grandmother and great aunt are finally willing to meet and make up after 50-plus years apart. And it's all thanks to Kitty!

But meanwhile, Stella is still blackmailing Min-ho so she can compete in his father's talent competition and become the support act for his popstar brother's upcoming tour. So it's not all great news, not by any means. In the wise words of aespa, Stella is bringing the drama-ma-ma-ma.

While Kitty's given up on that investigation, convinced that she made a mistake about Stella's evil wrongdoings, roomies Q and Dae start to suspect something's amiss with this seemingly sweet, Christian girl when they spot Min-ho skipping over his usual collagen water for a monster energy drink.

Something's not right with him, and it's not just his skin, which is looking practically vampiric (not in a "hot Robert Pattinson" way either, as Q rightly puts it).

On the day of the competition, Dae realises that Stella has cheated her way into the lineup, poised to win, and that's when Kitty discovers she was right all along about Min-ho's new girlfriend.

When she confronts him about it, Min-ho admits that she is indeed blackmailing him, intent on spilling the beans about Min-ho's brother and how he got his backup dancer pregnant.

Min-ho is too embarrassed to tell his father the truth — "I feel pathetic" — but Kitty convinces him that they have to stop Stella before she becomes famous and wreaks revenge on his father for embarrassing her in that talent show all those years ago.

"I’m not afraid of some freak dressed in sheep’s clothing," says Kitty. "If she messes with my friends, I will drop-kick that b***h faster than she can say, 'Have a blessed day.'"

This kitty's got claws and she's not afraid to use them.

Audrey Huynh as Stella, walking into a room with shopping bags and a big smile on her face
Audrey Huynh as Stella. Park Young-Sol/Netflix

The Shoot for the Moon competition begins, and it soon becomes clear that Stella is leaving nothing to chance.

Dae's girlfriend, Eunice, is forced to push through when her heel suddenly snaps mid-performance — Sabotage! — and all of Dae's dancers immediately (and hilariously) run off to the toilet all at once, poisoned by dodgy food that Stella's tampered with.

Kitty, being Kitty, doesn't let that faze her though. With Min-ho fixing sound issues and the school's head teacher "hauling ass" to perform backing with his guitar, Dae's performance (of Jungkook's Seven) goes ahead with his friends joining in to replace the backup dancers (including Jin, who's been faking his leg injury so he has more time to watch The Gilded Age with his hot boyfriend, Q).

That's as hilarious as Stella is mad when she realises Kitty has sabotaged her attempts at sabotage. But before she can play her final card, Min-ho's brother reveals the truth about his new girlfriend to fans on stage before proceeding to propose in front of the entire world.

"There goes your blackmail material," says Kitty, and there goes Stella then when security drags her away from the competition and all her burned up dreams.

But before she's sent on the first plane back to Ohio, Min-ho's father apologises for being so cruel to her all those years ago. Min-ho jumps in too then, desperate to know if their relationship had always been a ploy or if he had actually meant something to her.

"No, not at first," admits Stella. "But then you were different than I thought you were going to be. I liked you for real, but I could tell your heart was never fully in it."

OH! I wonder who Stella could possibly be talking about there…

Sang Heon Lee as Min Ho Moon and Audrey Huynh as Stella, standing next to one another with shocked expressions on their faces
Sang Heon Lee as Min Ho Moon and Audrey Huynh as Stella. Netflix

Jumping back to the competition, it's announced that Eunice has won and she'll be opening for Moon's Sugar Daddy tour, which is pretty weird as tour names go.

Praveena, who's not been around much since things didn't work out with Kitty, is seen chatting excitedly with Juliana, and it turns out that's because they're dating again, much to Yuri's dismay.

Juliana apologises, asking if she and Yuri can still be friends. She agrees, of course, but that doesn't mean it hurts any less, especially after she was convinced that Juliana was ready to take her back.

Things get even worse for Yuri when Alex (who was sadly sidelined for most of the season) shows up to comfort her, but not because of Juliana's rejection. It turns out that her credit cards were declined earlier because her father is the focus of a class action suit against the Han group, which means his assets have been frozen and she's now broke.

It's a sad note to leave Yuri on this season because she's lovely and deserves the world. Dae's happy though, at least, even though he didn't win the competition, and that's because the aforementioned class action suit is going to help pay for his father's medical bills. That's a relief, if wrapped up a tad too quickly.

Gia Kim as Yuri Han having her photo taken in front of a colourful wall
Gia Kim as Yuri Han. Park Young-Sol/Netflix

More bad news comes when Kitty's sister Margot reveals her flight has been cancelled, which means the long-awaited family reunion between them and the much older Covey sisters can no longer go ahead.

Except, problems don't really exist when you have money, or at least a rich friend, because Min-ho steps in to sort everything out with his father's private jet.

Cue a very emotional reunion between Kitty's grandmother and her sister, who haven't seen each other for 59 years. But now, thanks to Kitty, they have the chance to apologise and cry and hug it all out.

Together, the reunited family go inside and perform the jesa ritual for Eve, Kitty's mother, which involves paying your respects to those who have departed. It's long overdue and exactly the emotional end this long-standing thread deserved to close on.

But what does that mean now for Kitty?

Anna Cathcart as Kitty Song Covey, sat cross-legged on the grass under a blossom tree, talking on the phone
Anna Cathcart as Kitty Song Covey. Park Young-Sol/Netflix

In a heartfelt chat with Margot, the youngest Covey sister reflects that she's learned a lot about herself while trying to find out more about their mother. In doing so, "This place has become as much a part of me as it was a part of her. Now I have this, the last thing I want to do is leave…"

Two weeks later, Kitty very quickly and very easily figures out how to stay another year at KISS thanks to a new heritage scholarship that's been conveniently set up now that investors are backing the school again. It's giving "we're running out of time so let's just wrap things up real fast". At least this bodes well for a potential third season.

But wait. There's more!

Now that Kitty's staying for another year after all, Q asks her if she's told Min-ho the good news. "He flew your grandmother and sister across the ocean. You basically saved his family. You clearly have an epic thing going on."

It's true, but Kitty is terrified. "What if he doesn’t feel the same way anymore? Plus Stella screwed him up. Isn’t it just too complicated?"

Q suggests chatting to Min-ho on one of his daily walks in the sculpture garden. How scholarly. And that's the last we see of Q this season, but things seem great with his boyfriend Jin, so we're leaving him in a much better place than Yuri, at least.

Kitty catches up with Min-ho who's clearing his head before he leaves that night, joining his brother and Eunice on the Sugar Daddy tour (still weird).

It's a last-minute decision, which Min-ho jumped to hoping it would help him "bleach Stella from his brain" now that he's swearing off relationships.

Swearing. Off. Relationships.

Min Ho Moon and Anna Cathcart as Kitty Song Covey, talking to each other
Sang Heon Lee as Min Ho Moon and Anna Cathcart as Kitty Song Covey. Park Young-Sol/Netflix

That's a big ouch for Kitty, but unperturbed, she tells him that she'll be back for another year at KISS, which he seems genuinely happy about. But sadly, Min-ho has to get going as his car is picking him up soon.

They hug for the longest time, and their heartbeats can be heard as the music begins to swell. Could this be the moment they finally kiss?

No. Min-ho walks away, which makes Kitty question everything.

"Maybe it’s not our time," she wonders. "Not yet. Or maybe…"

In classic Kitty fashion, impulse takes over as she suddenly asks if she can join Min-ho on the tour.

He nods and smiles and then off she goes, ready to spend an epic summer with the boy she has "an epic thing with".

That's where XO, Kitty ends this season, somewhat cruelly for fans desperate to see the pair finally kiss following that cliffhanger in season 1.

But really, this is actually the perfect ending in a lot of ways. To simply end with a snog would have been very predictable and somewhat cliched to boot. XO, Kitty loves to play around with romcom and k-drama tropes combined, but the show is more than just a mere parody.

Ending with a bit of ambiguous hope is smart because it provides some closure without giving away all the answers. And that's especially important these days when you consider how often Netflix cancels their shows (and LGBTQ+ shows especially) after just one or two seasons.

If this is the end of XO, Kitty, watching her smile as she runs off with Min-ho is a worthy ending for fans yet still hints that there could be more to come in a potential third season.

Like Kitty herself, there's a joyful, youthful energy here that speaks to the optimism and hope that her story has long been infused with, from To All the Boys I've Loved Before right up until now, seven years later.

XO, Kitty seasons 1-2 are available to stream now on Netflix. Sign up for Netflix from £4.99 a month. Netflix is also available on Sky Glass and Virgin Media Stream.

Advertisement

Check out more of our Drama coverage or visit our TV Guide and Streaming Guide to find out what's on. For more from the biggest stars in TV, listen to The Radio Times Podcast.

Authors

David OpieFreelance Writer

David Opie is a freelance entertainment journalist who writes about TV and film across a range of sites including Radio Times, Indiewire, Empire, Yahoo, Paste, and more. He's spoken on numerous LGBTQ+ panels to discuss queer representation and strives to champion LGBTQ+ storytelling as much as possible. Other passions include comics, animation, and horror, which is why David longs to see a Buffy-themed Rusical on RuPaul's Drag Race. He previously worked at Digital Spy as a Deputy TV Editor and has a degree in Psychology.

Advertisement
Advertisement
Advertisement