The tech executive slept and Gabi slept together despite his no sex rule.
Zach and Gabi's split came after they broke his no-sex rule during Fantasy Suite week. Afterwards, Zach angered Gabi by openly discussing their night together. Though she accepted one of his two final roses, she did so with lingering questions about whether or not their relationship could work.
"In a way, it feels like he's cleared his conscience at the expense of my heart," she said in a confessional. "I can't deny the fact that I am feeling blindsided by it and my trust was broken."
"Right now I feel like I am wearing a big A on my chest. It's a very uncomfortable feeling," Gabi added. "... I have questions running through my mind that I need answered before I can confidently move forward with an engagement."
She addressed those concerns at the start of Monday night's episode, before she went in to meet Zach's family, telling him, "I want to make sure you're not associating those negative feelings with me."
Zach tried to reassure Gabi that his conflicting feelings have "nothing" to do with her or their intimate night together, but she wasn't convinced.
"I feel like I'm the reason you are feeling all of this disappointment in yourself," she said. "... I'm feeling very guilty, because I feel like I was the accessory in a crime... Do you regret the decision that you made with me?"
Zach denied feeling any regret over their night together, telling Gabi, "In my heart, it's love."
That convinced Gabi to go ahead with meeting Zach's family, and the positive experience "confirmed all my feelings for him," she said in a confessional.
"I am in love with you," she told Zach afterwards, to which he gleefully replied, "Do you know how good that feels to hear?"
Things turned sour on their last date together, when Gabi told Zach, "You are seriously a gem and it scares me to not have you as my gem."
That fear wasn't unrealistic, as Zach confessed, "I'm so torn. It's the biggest decision of my life and I don't know fully where I'm going to be in two days, but I feel so good that the right thing is going to happen."
Zach's sentiment left Gabi with "a gut feeling" that "it's not me."
Later, during the nighttime portion of their date, Gabi came clean about her fears and Zach did his best to make her feel better.
"I want you to know, I'm trying to so hard to figure this out," he said. "... I'm so torn. This is the first time in my life I don't have that decisive feeling. That's weird for me because my heart's being tugged in two places... I'm doing what feels right to just fully experience this till the very end."
After he left, Gabi was still feeling uneasy and that continued into the final rose ceremony. "I think I know what's about to happen," she emotionally told host Jesse Palmer when she arrived at the location.
Zach started his speech by recapping their "more than incredible" time together and telling her that "falling in love with you has made me a better man." As he geared up to deliver the blow, Gabi said, "I know. You don't have to say it."
He continued nonetheless, but Gabi interrupted and told him, "I don't want to hear it."
"I knew it was coming. What I don't know is why you wouldn't tell me when you knew," she said. Zach denied that he knew his decision any earlier, and Gabi left by wishing her ex "good luck" in his relationship.
As he walked her out, Zach continuously tried to apologize and speak positively about their relationship, but Gabi put a stop to it each time.
"I'll find love somewhere, somehow," she said. "It's OK."
While being driven away, Gabi cried over the "humiliating" encounter, sobbing that she was "strung along" throughout the experience and expressing regret over not trusting her gut.
"I'm so unlovable for whatever f**king reason," she said. "There's something wrong with me. Why am I so hard to love? Why am I always so misunderstood. I don't know when someone's going to choose me."
During the live portion of the show, a tearful Gabi recalled thinking that Zach "would never" make her go through the "stress and anxiety" of the final day if it wasn't going to be her in the end.
"I did know in my gut, but it doesn't make the goodbye any easier," she said. "... I had chosen him and he didn't choose me back."
As for how she feels about her and Zach's intimate night together, Gabi said, "It's a part of me that I'll never get back. It's extremely violating that the entire nation knows everything."
Gabi opened up more about her feelings when Zach joined her on stage, blasting him for telling her their night together "was going to be between us" and then changing his mind.
"When you came to my hotel room, I was blindsided, but I also was just knowing that you were trying to be honest... I can see your point of view there," she said, "however, what I wish would have happened is that you would've warned me that you were going to use my name and you were going to tell everyone what happened, because I didn't know you were going to do that."
Not only did she not know that then, but Gabi claimed that she found out about Zach's confession as she watched it air on TV.
"It was a beyond a TV show for me. I feel ashamed, from a moment that felt like love to me," she said. "... I wish you just would've sent me home and saved me all the pain that just went on and on. I'm living it all over again, but way worse than it was when I left Thailand because I'm seeing it from a different point of view."
Zach responded by admitting that "the way I handled things was completely wrong."
"There's no excuse for the way I handled things," he said. "... I felt like I needed to let everyone know that I went against my word... but in reality I hurt you... The last thing I wanted to do was hurt you like that, it was just me purely trying to be honest... From the bottom of my heart, I'm sorry."
Zach Shallcross' journey for love has come to an end. You can relive the season with all of ET's coverage. Next up for Bachelor Nation is Charity Lawson's season of The Bachelorette, which will premiere June 26.